可能有一些显而易见的事情我不知道但是我正在尝试调试我的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, …Run Code Online (Sandbox Code Playgroud)