git.iko.soy/typeable/oauth2-proxy
on master help sign in
Attempt to log still on template errors
commit45222395e0a5976ad312249ab6399487116c2605 authorNick Meves <nick.meves@greenhouse.io> dateMon 20 Jul 2020, 19:29 (6 years ago) parent542bf1f
3 files changed+28−11
oauthproxy.go+2−2 pkg/logger/logger.go+25−3 pkg/sessions/persistence/manager.go+1−6
oauthproxy.go+2−2
@@ -647,7 +647,7 @@ func (p *OAuthProxy) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
647647func (p *OAuthProxy) SignIn(rw http.ResponseWriter, req *http.Request) {
648648 redirect, err := p.GetRedirect(req)
649649 if err != nil {
650− logger.Printf("Error obtaining redirect: %s", err.Error())
650+ logger.Printf("Error obtaining redirect: %v", err)
651651 p.ErrorPage(rw, http.StatusInternalServerError, "Internal Server Error", err.Error())
652652 return
653653 }
@@ -657,7 +657,7 @@ func (p *OAuthProxy) SignIn(rw http.ResponseWriter, req *http.Request) {
657657 session := &sessionsapi.SessionState{User: user}
658658 err = p.SaveSession(rw, req, session)
659659 if err != nil {
660− logger.Printf("Error saving session: %s", err.Error())
660+ logger.Printf("Error saving session: %v", err)
661661 p.ErrorPage(rw, http.StatusInternalServerError, "Internal Server Error", err.Error())
662662 return
663663 }
pkg/logger/logger.go+25−3
@@ -137,8 +137,15 @@ func (l *Logger) Output(calldepth int, message string) {
137137 File: file,
138138 Message: message,
139139 })
140+ // Fallback for template errors
140141 if err != nil {
141− panic(err)
142+ _, ferr := fmt.Fprintf(l.writer, "[%s] [%s] %s",
143+ FormatTimestamp(now),
144+ file,
145+ message)
146+ if ferr != nil {
147+ panic(ferr)
148+ }
142149 }
143150
144151 _, err = l.writer.Write([]byte("\n"))
@@ -177,8 +184,17 @@ func (l *Logger) PrintAuthf(username string, req *http.Request, status AuthStatu
177184 Status: string(status),
178185 Message: fmt.Sprintf(format, a...),
179186 })
187+ // Fallback for template errors
180188 if err != nil {
181− panic(err)
189+ _, ferr := fmt.Fprintf(l.writer, "%s - %s [%s] [%s] %s",
190+ client,
191+ username,
192+ FormatTimestamp(now),
193+ string(status),
194+ fmt.Sprintf(format, a...))
195+ if ferr != nil {
196+ panic(ferr)
197+ }
182198 }
183199
184200 _, err = l.writer.Write([]byte("\n"))
@@ -234,8 +250,14 @@ func (l *Logger) PrintReq(username, upstream string, req *http.Request, url url.
234250 UserAgent: fmt.Sprintf("%q", req.UserAgent()),
235251 Username: username,
236252 })
253+ // Fallback for template errors
237254 if err != nil {
238− panic(err)
255+ _, ferr := fmt.Fprintf(l.writer, "%s - %s [%s] %s %s %s %q %s %q %d %d %0.3f",
256+ client, username, FormatTimestamp(ts), req.Host, req.Method, upstream,
257+ url.RequestURI(), req.Proto, req.UserAgent(), status, size, duration)
258+ if ferr != nil {
259+ panic(ferr)
260+ }
239261 }
240262
241263 _, err = l.writer.Write([]byte("\n"))
pkg/sessions/persistence/manager.go+1−6
@@ -49,12 +49,7 @@ func (m *Manager) Save(rw http.ResponseWriter, req *http.Request, s *sessions.Se
4949 return err
5050 }
5151
52− err = tckt.setCookie(rw, req, s)
53− if err != nil {
54− return err
55− }
56−
57− return nil
52+ return tckt.setCookie(rw, req, s)
5853}
5954
6055// Load reads sessions.SessionState information from a session store. It will