-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathraw_webrequest.go
171 lines (148 loc) · 7.16 KB
/
raw_webrequest.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
package electron
import "github.com/gopherjs/gopherjs/js"
// WebRequest [email protected]
//
// Intercept and modify the contents of a request at various stages of its lifetime.
type WebRequest struct {
*js.Object
// The listener will be called with listener(details, callback) when a request is about to occur. The uploadData is an array of UploadData objects. The callback has to be called with an response object.
OnBeforeRequest func(Filter *WebRequestOnBeforeRequestFilter, Listener WebRequestOnBeforeRequestListener) `js:"onBeforeRequest"`
// The listener will be called with listener(details, callback) before sending an HTTP request, once the request headers are available. This may occur after a TCP connection is made to the server, but before any http data is sent. The callback has to be called with an response object.
OnBeforeSendHeaders func(Filter *WebRequestOnBeforeSendHeadersFilter, Listener WebRequestOnBeforeSendHeadersListener) `js:"onBeforeSendHeaders"`
// The listener will be called with listener(details) just before a request is going to be sent to the server, modifications of previous onBeforeSendHeaders response are visible by the time this listener is fired.
OnSendHeaders func(Filter *WebRequestOnSendHeadersFilter, Listener WebRequestOnSendHeadersListener) `js:"onSendHeaders"`
// The listener will be called with listener(details, callback) when HTTP response headers of a request have been received. The callback has to be called with an response object.
OnHeadersReceived func(Filter *WebRequestOnHeadersReceivedFilter, Listener WebRequestOnHeadersReceivedListener) `js:"onHeadersReceived"`
// The listener will be called with listener(details) when first byte of the response body is received. For HTTP requests, this means that the status line and response headers are available.
OnResponseStarted func(Filter *WebRequestOnResponseStartedFilter, Listener WebRequestOnResponseStartedListener) `js:"onResponseStarted"`
// The listener will be called with listener(details) when a server initiated redirect is about to occur.
OnBeforeRedirect func(Filter *WebRequestOnBeforeRedirectFilter, Listener WebRequestOnBeforeRedirectListener) `js:"onBeforeRedirect"`
// The listener will be called with listener(details) when a request is completed.
OnCompleted func(Filter *WebRequestOnCompletedFilter, Listener WebRequestOnCompletedListener) `js:"onCompleted"`
// The listener will be called with listener(details) when an error occurs.
OnErrorOccurred func(Filter *WebRequestOnErrorOccurredFilter, Listener WebRequestOnErrorOccurredListener) `js:"onErrorOccurred"`
}
func WrapWebRequest(o *js.Object) *WebRequest {
return &WebRequest{
Object: o,
}
}
type WebRequestOnBeforeRequestFilter struct {
*js.Object
}
type WebRequestOnBeforeRequestListener func(Details *WebRequestListenerDetails, Callback WebRequestListenerCallback)
type WebRequestListenerDetails struct {
*js.Object
Id int64 `js:"id"`
URL string `js:"url"`
Method string `js:"method"`
ResourceType string `js:"resourceType"`
Timestamp float64 `js:"timestamp"`
UploadData *js.Object `js:"uploadData"`
}
type WebRequestListenerCallback func(Response *WebRequestCallbackResponse)
type WebRequestCallbackResponse struct {
*js.Object
Cancel bool `js:"cancel"`
// The original request is prevented from being sent or completed and is instead redirected to the given URL.
RedirectURL string `js:"redirectURL"`
}
type WebRequestOnSendHeadersListener func(Details *WebRequestListenerDetails2)
type WebRequestListenerDetails2 struct {
*js.Object
Id int64 `js:"id"`
URL string `js:"url"`
Method string `js:"method"`
ResourceType string `js:"resourceType"`
Timestamp float64 `js:"timestamp"`
RequestHeaders *WebRequestDetailsRequestHeaders `js:"requestHeaders"`
}
type WebRequestDetailsRequestHeaders struct {
*js.Object
}
type WebRequestOnHeadersReceivedFilter struct {
*js.Object
}
type WebRequestOnBeforeRedirectFilter struct {
*js.Object
}
type WebRequestOnErrorOccurredListener func(Details *WebRequestListenerDetails3)
type WebRequestListenerDetails3 struct {
*js.Object
Id int64 `js:"id"`
URL string `js:"url"`
Method string `js:"method"`
ResourceType string `js:"resourceType"`
Timestamp float64 `js:"timestamp"`
FromCache bool `js:"fromCache"`
// The error description.
Error string `js:"error"`
}
type WebRequestOnResponseStartedFilter struct {
*js.Object
}
type WebRequestOnBeforeRedirectListener func(Details *WebRequestListenerDetails4)
type WebRequestListenerDetails4 struct {
*js.Object
Id string `js:"id"`
URL string `js:"url"`
Method string `js:"method"`
ResourceType string `js:"resourceType"`
Timestamp float64 `js:"timestamp"`
RedirectURL string `js:"redirectURL"`
StatusCode int64 `js:"statusCode"`
// The server IP address that the request was actually sent to.
Ip string `js:"ip"`
FromCache bool `js:"fromCache"`
ResponseHeaders *WebRequestDetailsResponseHeaders `js:"responseHeaders"`
}
type WebRequestDetailsResponseHeaders struct {
*js.Object
}
type WebRequestOnCompletedFilter struct {
*js.Object
}
type WebRequestOnResponseStartedListener func(Details *WebRequestListenerDetails5)
type WebRequestListenerDetails5 struct {
*js.Object
Id int64 `js:"id"`
URL string `js:"url"`
Method string `js:"method"`
ResourceType string `js:"resourceType"`
Timestamp float64 `js:"timestamp"`
ResponseHeaders *WebRequestDetailsResponseHeaders2 `js:"responseHeaders"`
// Indicates whether the response was fetched from disk cache.
FromCache bool `js:"fromCache"`
StatusCode int64 `js:"statusCode"`
StatusLine string `js:"statusLine"`
}
type WebRequestDetailsResponseHeaders2 struct {
*js.Object
}
type WebRequestOnCompletedListener func(Details *WebRequestListenerDetails6)
type WebRequestListenerDetails6 struct {
*js.Object
Id int64 `js:"id"`
URL string `js:"url"`
Method string `js:"method"`
ResourceType string `js:"resourceType"`
Timestamp float64 `js:"timestamp"`
ResponseHeaders *WebRequestDetailsResponseHeaders3 `js:"responseHeaders"`
FromCache bool `js:"fromCache"`
StatusCode int64 `js:"statusCode"`
StatusLine string `js:"statusLine"`
}
type WebRequestDetailsResponseHeaders3 struct {
*js.Object
}
type WebRequestOnErrorOccurredFilter struct {
*js.Object
}
type WebRequestOnBeforeSendHeadersFilter struct {
*js.Object
}
type WebRequestOnBeforeSendHeadersListener func()
type WebRequestOnSendHeadersFilter struct {
*js.Object
}
type WebRequestOnHeadersReceivedListener func()