"Go is a general-purpose language designed with systems programming in mind." req, err := http.NewRequest("PUT", "http://www.example.org", strings.NewReader(body)) if err != nil { log.Fatal(err) } dump, err := httputil.DumpRequestOut(req, true) if err != nil { log.Fatal(err) } fmt.Printf("%q", dump)
is like DumpRequest but for outgoing client requests. httputil.DumpRequestOut => Outgoing Request => クライアント側で, 送信するリクエストのデバッグ用 httputil.DumpRequest => サーバー側で, 受け取ったリクエストのデバッグ用 デバッグ
エンドポイントへは基本的に ボディペイロードを投げない. ※ 仮にボディペイロードが要求されているなら, Content-Length を忘れずに! (サーバー側でボディの読み出しが行えない) ちなみに, POST/PUT は Content-Length ヘッダー必須. DELETE は任意.. c.f. RFC7231 の DELETE セクション A payload within a DELETE request message has no defined semantics; sending a payload body on a DELETE request might cause some existing implementations to reject the request. アンチパターン