Merge branch 'master' into kd-live

This commit is contained in:
2023-06-27 15:18:13 +09:00

View File

@ -536,3 +536,51 @@ func MakeRPCError() *RpcReturnError {
h: nil,
}
}
type indirectBody struct {
inner io.ReadCloser
dump []byte
closer func()
}
func (ib *indirectBody) Read(p []byte) (n int, err error) {
n, err = ib.inner.Read(p)
if n > 0 {
ib.dump = append(ib.dump, p...)
}
return
}
func (ib *indirectBody) Close() error {
if ib.closer != nil {
ib.closer()
ib.closer = nil
}
return ib.inner.Close()
}
func MakeHttpRequestForLogging(r *http.Request) *http.Request {
ib := &indirectBody{
inner: r.Body,
}
closer := func() {
var uv url.Values
if r.Form != nil {
uv = r.Form
} else {
uv = r.URL.Query()
}
logger.Println("request :")
logger.Println(" header :", r.Header)
logger.Println(" values :", uv)
logger.Println(" body :", string(ib.dump))
}
ib.closer = closer
r.Body = ib
return r
}