diff options
| -rw-r--r-- | utils.go | 22 | ||||
| -rw-r--r-- | web.go | 4 |
2 files changed, 16 insertions, 10 deletions
@@ -34,16 +34,20 @@ func (app *App) GetCookie(r *http.Request, name string, dst interface{}) error { return app.CookieHandler.Decode(name, cookie.Value, dst) } -func (app *App) SetCookie(w http.ResponseWriter, name string, v interface{}, exp int) { - encoded, _ := app.CookieHandler.Encode(name, v) - cookie := &http.Cookie{ - Name: name, - Value: encoded, - Path: "/", - HttpOnly: true, - MaxAge: exp, +func (app *App) SetCookie(w http.ResponseWriter, name string, v interface{}, exp int) error { + if encoded, err := app.CookieHandler.Encode(name, v); err != nil { + return err + } else { + cookie := &http.Cookie{ + Name: name, + Value: encoded, + Path: "/", + HttpOnly: true, + MaxAge: exp, + } + http.SetCookie(w, cookie) + return nil } - http.SetCookie(w, cookie) } func ago(t time.Time) string { @@ -26,7 +26,9 @@ type UserSession struct { func (app *App) login(w http.ResponseWriter, r *http.Request) { state := hex.EncodeToString(genKey(32)) - app.SetCookie(w, "state", state, 120) + if err := app.SetCookie(w, "state", state, 120); err != nil { + log.Panic(err) + } url := app.Config.OAuth.AuthCodeURL(state) app.Template.ExecuteTemplate(w, "login.tmpl", url) } |
