@@ -126,15 +126,7 @@ func OpenWindowFromLocation(location string, windowOptions ...WindowOption) (Win
126
126
options .BaseLocation = location
127
127
}
128
128
result := newWindow (options )
129
- resp , err := result .httpClient .Get (location )
130
- if err != nil {
131
- return nil , err
132
- }
133
- if resp .StatusCode != 200 {
134
- return nil , errors .New ("Non-ok Response" )
135
- }
136
- err = result .parseReader (resp .Body )
137
- return result , err
129
+ return result , result .get (location )
138
130
}
139
131
140
132
func (w * window ) initScriptEngine () {
@@ -217,14 +209,6 @@ func (w *window) Document() dom.Document {
217
209
return w .document
218
210
}
219
211
220
- func (w * window ) handleResponse (resp * http.Response ) error {
221
- if resp .StatusCode != 200 {
222
- return errors .New ("Non-ok Response" )
223
- }
224
- return w .parseReader (resp .Body )
225
-
226
- }
227
-
228
212
func (w * window ) Navigate (href string ) error {
229
213
log .Info (w .Logger (), "Window.navigate:" , "href" , href )
230
214
w .History ().pushLoad (href )
@@ -234,11 +218,7 @@ func (w *window) Navigate(href string) error {
234
218
w .document = NewHTMLDocument (w )
235
219
return nil
236
220
} else {
237
- resp , err := w .httpClient .Get (href )
238
- if err != nil {
239
- return err
240
- }
241
- return w .handleResponse (resp )
221
+ return w .get (href )
242
222
}
243
223
}
244
224
@@ -252,20 +232,26 @@ func (w *window) reload(href string) error {
252
232
w .document = NewHTMLDocument (w )
253
233
return nil
254
234
} else {
255
- resp , err := w .httpClient .Get (href )
256
- if err != nil {
257
- return err
258
- }
259
- return w .handleResponse (resp )
235
+ return w .get (href )
236
+ }
237
+ }
238
+
239
+ func (w * window ) get (href string ) (err error ) {
240
+ if req , err := http .NewRequest ("GET" , href , nil ); err == nil {
241
+ err = w .fetchRequest (req )
260
242
}
243
+ return err
261
244
}
262
245
263
246
func (w * window ) fetchRequest (req * http.Request ) error {
264
247
resp , err := w .httpClient .Do (req )
265
- if err = = nil {
266
- err = w . handleResponse ( resp )
248
+ if err ! = nil {
249
+ return err
267
250
}
268
- return err
251
+ if resp .StatusCode != 200 {
252
+ return errors .New ("Non-ok Response" )
253
+ }
254
+ return w .parseReader (resp .Body )
269
255
}
270
256
271
257
func (w * window ) LoadHTML (html string ) error {
0 commit comments