我可能遗漏了一些明显的东西,但我正在尝试调试由我的 go 服务器编写的 HTTP 响应。我看到有httputil.DumpResponse可用,但它需要一个 http.Response 对象,而我可用的是 http.ResponseWriter有没有办法从 http.ResponseWriter 中提取 http.Response 以便我可以检查对控制台或日志的响应内容?语境:我正在使用https://github.com/RangelReale/osin编写一个简单的服务器端身份验证,它是默认示例,但不明白为什么前端(使用http://ember-simple-auth.com)将失败的身份验证(错误的密码)解释为成功。这是片段:r = mux.NewRouter()r.HandleFunc("/token", func (w http.ResponseWriter, r *http.Request) { fmt.Printf("r.HandleFunc /token\n") resp := server.NewResponse() defer resp.Close() r.ParseForm() grantType := r.FormValue("grant_type") username := r.FormValue("username") password := r.FormValue("password") fmt.Printf("/token : grantType=%s username=%s password=%s\n", grantType, username, password) if ar := server.HandleAccessRequest(resp, r); ar != nil { if username == "user" && password == "correct-password" { ar.Authorized = true } else { ar.Authorized = false } server.FinishAccessRequest(resp, r, ar) } osin.OutputJSON(resp, w, r) // Debug - doesn't work yet dump, err := httputil.DumpResponse(w, true) if err != nil { fmt.Printf("%s\n", dump) }});http.Handle("/token", r)
1 回答
- 1 回答
- 0 关注
- 195 浏览
添加回答
举报
0/150
提交
取消