github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/net/http/httputil/dump.go (about) 1 // Copyright 2009 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package httputil 6 7 import ( 8 "github.com/shogo82148/std/net/http" 9 ) 10 11 // DumpRequestOutは、outgoingのクライアントリクエスト用の [DumpRequest] のようなものです。これには、標準の [http.Transport] が追加するUser-Agentなど、任意のヘッダーが含まれます。 12 func DumpRequestOut(req *http.Request, body bool) ([]byte, error) 13 14 // DumpRequestは与えられたリクエストをHTTP/1.xのワイヤープレゼンテーションで返します。 15 // クライアントのリクエストをデバッグするために、サーバーが使用するべきです。 16 // 返されるプレゼンテーションは近似値です。初期リクエストの一部の詳細は、[http.Request] に解析される際に失われます。 17 // 特にヘッダーフィールド名の順序と大文字小文字の情報が失われます。複数の値を持つヘッダーの値の順序は保持されます。 18 // HTTP/2のリクエストは、元のバイナリ表現ではなく、HTTP/1.xの形式でダンプされます。 19 // 20 // bodyがtrueの場合、DumpRequestはbodyも返します。そのため、req.Bodyを消費し、同じバイトを返す新しい [io.ReadCloser] に置き換えます。 21 // DumpRequestがエラーを返す場合、reqの状態は未定義です。 22 // 23 // [http.Request.Write] のドキュメントには、ダンプに含まれるreqのフィールドの詳細が記載されています。 24 func DumpRequest(req *http.Request, body bool) ([]byte, error) 25 26 // DumpResponseはDumpRequestと同様ですが、レスポンスをダンプします。 27 func DumpResponse(resp *http.Response, body bool) ([]byte, error)