相关疑难解决方法(0)

Go - 在http.HandleFunc中记录对传入HTTP请求的响应

这是一个后续问题,如何检查写入http.ResponseWriter的http响应?因为解决方案需要伪造一个请求,这对于单元测试很有用,但对于实时服务器则不行.

我想转储我的Web服务返回的HTTP响应,以响应它从用户收到的日志文件(或控制台)的请求.输出应该告诉我标题是什么和JSON有效负载.

怎么去那个?

如果有一个httputil.DumpResponse等效,它将http.ResponseWriter作为参数而不是http.Response,那将是完美的,但目前我只能从http.ResponseWriter访问Header

r = mux.NewRouter()
r.HandleFunc("/path", func (w http.ResponseWriter, r *http.Request) {

    fmt.Printf("r.HandleFunc /path\n")

    resp := server.NewResponse()
    defer resp.Close()

    r.ParseForm()

    // Server does some work here
    // ...

    // Insert debug code here, something like
    //
    // dump = http.DumpResponseFromWriter(w)
    // fmt.Printf("%s\n", dump)
});
http.Handle("/path", r)
Run Code Online (Sandbox Code Playgroud)

http go

4
推荐指数
2
解决办法
3494
查看次数

标签 统计

go ×1

http ×1