forked from mystiq/dex
Set a proper status code before sending an error status page
This commit is contained in:
parent
861d4ae447
commit
9948228e5b
2 changed files with 8 additions and 4 deletions
|
@ -996,7 +996,7 @@ func (s *Server) writeAccessToken(w http.ResponseWriter, idToken, accessToken, r
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) renderError(w http.ResponseWriter, status int, description string) {
|
func (s *Server) renderError(w http.ResponseWriter, status int, description string) {
|
||||||
if err := s.templates.err(w, http.StatusText(status), description); err != nil {
|
if err := s.templates.err(w, status, description); err != nil {
|
||||||
s.logger.Errorf("Server template error: %v", err)
|
s.logger.Errorf("Server template error: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -226,12 +226,16 @@ func (t *templates) oob(w http.ResponseWriter, code string) error {
|
||||||
return renderTemplate(w, t.oobTmpl, data)
|
return renderTemplate(w, t.oobTmpl, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *templates) err(w http.ResponseWriter, errType string, errMsg string) error {
|
func (t *templates) err(w http.ResponseWriter, errCode int, errMsg string) error {
|
||||||
|
w.WriteHeader(errCode)
|
||||||
data := struct {
|
data := struct {
|
||||||
ErrType string
|
ErrType string
|
||||||
ErrMsg string
|
ErrMsg string
|
||||||
}{errType, errMsg}
|
}{http.StatusText(errCode), errMsg}
|
||||||
return renderTemplate(w, t.errorTmpl, data)
|
if err := t.errorTmpl.Execute(w, data); err != nil {
|
||||||
|
return fmt.Errorf("Error rendering template %s: %s", t.errorTmpl.Name(), err)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// small io.Writer utility to determine if executing the template wrote to the underlying response writer.
|
// small io.Writer utility to determine if executing the template wrote to the underlying response writer.
|
||||||
|
|
Loading…
Reference in a new issue