質問編集履歴
2
試して成功した結果を記載しますが、そのコードが正しいかは知りません。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
`http.Client.Do()`メソッドを使う際、既存のリクエストを再利用する方法を教えてください。
|
test
CHANGED
@@ -316,4 +316,64 @@
|
|
316
316
|
|
317
317
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
318
318
|
|
319
|
+
20170704 追記
|
320
|
+
|
319
|
-
|
321
|
+
タイトル選択にミスがあり、修正しました。
|
322
|
+
|
323
|
+
私が聞きたかった質問はリクエストを再利用する方法でした。
|
324
|
+
|
325
|
+
試したコードで動作するのは確認しましたが、これよりいい方法があれば教えてください。
|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
```go
|
330
|
+
|
331
|
+
// Client
|
332
|
+
|
333
|
+
func cTest(w http.ResponseWrite, r *http.Request) {
|
334
|
+
|
335
|
+
serverURL := "http://localhost:8080/test"
|
336
|
+
|
337
|
+
r.Method = http.MethodGet
|
338
|
+
|
339
|
+
r.Host = serverURL // server
|
340
|
+
|
341
|
+
v, err := url.Parse(serverURL)
|
342
|
+
|
343
|
+
if err != nil {
|
344
|
+
|
345
|
+
log.Println("url parsing error occurred : ", err.Error())
|
346
|
+
|
347
|
+
return
|
348
|
+
|
349
|
+
}
|
350
|
+
|
351
|
+
c := &http.Client{Transport: &http.Transport{}}
|
352
|
+
|
353
|
+
resp, err := c.Transport.RoundTrip(r)
|
354
|
+
|
355
|
+
if err != nil {
|
356
|
+
|
357
|
+
log.Println("client roundtrip error occurred : ", err.Error())
|
358
|
+
|
359
|
+
return
|
360
|
+
|
361
|
+
}
|
362
|
+
|
363
|
+
defer resp.Body.Close()
|
364
|
+
|
365
|
+
body, err := ioutil.ReadAll(resp.Body)
|
366
|
+
|
367
|
+
if err != nil {
|
368
|
+
|
369
|
+
log.Println("response body reading error occurred : ", err.Error())
|
370
|
+
|
371
|
+
return
|
372
|
+
|
373
|
+
}
|
374
|
+
|
375
|
+
w.Write(body)
|
376
|
+
|
377
|
+
}
|
378
|
+
|
379
|
+
```
|
1
タグ追加
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|