質問編集履歴
2
試して成功した結果を記載しますが、そのコードが正しいかは知りません。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
`http.Client.Do()`メソッドを使う際、既存のリクエストを再利用する方法を教えてください。
|
body
CHANGED
@@ -157,4 +157,34 @@
|
|
157
157
|
② リクエスト生成後、コンテキストを使用してリクエスト送信する。(`req = request.WithContext(context.BackgroundContext())`)
|
158
158
|
|
159
159
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
160
|
+
20170704 追記
|
160
|
-
|
161
|
+
タイトル選択にミスがあり、修正しました。
|
162
|
+
私が聞きたかった質問はリクエストを再利用する方法でした。
|
163
|
+
試したコードで動作するのは確認しましたが、これよりいい方法があれば教えてください。
|
164
|
+
|
165
|
+
```go
|
166
|
+
// Client
|
167
|
+
func cTest(w http.ResponseWrite, r *http.Request) {
|
168
|
+
serverURL := "http://localhost:8080/test"
|
169
|
+
r.Method = http.MethodGet
|
170
|
+
r.Host = serverURL // server
|
171
|
+
v, err := url.Parse(serverURL)
|
172
|
+
if err != nil {
|
173
|
+
log.Println("url parsing error occurred : ", err.Error())
|
174
|
+
return
|
175
|
+
}
|
176
|
+
c := &http.Client{Transport: &http.Transport{}}
|
177
|
+
resp, err := c.Transport.RoundTrip(r)
|
178
|
+
if err != nil {
|
179
|
+
log.Println("client roundtrip error occurred : ", err.Error())
|
180
|
+
return
|
181
|
+
}
|
182
|
+
defer resp.Body.Close()
|
183
|
+
body, err := ioutil.ReadAll(resp.Body)
|
184
|
+
if err != nil {
|
185
|
+
log.Println("response body reading error occurred : ", err.Error())
|
186
|
+
return
|
187
|
+
}
|
188
|
+
w.Write(body)
|
189
|
+
}
|
190
|
+
```
|
1
タグ追加
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|