@@ -270,6 +270,22 @@ func (p *OauthProxy) SetCookie(rw http.ResponseWriter, req *http.Request, val st
270270 http.SetCookie(rw, cookie)
271271}
272272
273+func (p *OauthProxy) ProcessCookie(rw http.ResponseWriter, req *http.Request) (email, user, access_token string, ok bool) {
274+ cookie, err := req.Cookie(p.CookieKey)
275+ if err == nil {
276+ var value string
277+ value, ok = validateCookie(cookie, p.CookieSeed)
278+ if ok {
279+ email, user, access_token, err = parseCookieValue(
280+ value, p.AesCipher)
281+ if err != nil {
282+ log.Printf(err.Error())
283+ }
284+ }
285+ }
286+ return
287+}
288+
273289func (p *OauthProxy) PingPage(rw http.ResponseWriter) {
274290 rw.WriteHeader(http.StatusOK)
275291 fmt.Fprintf(rw, "OK")
@@ -440,18 +456,7 @@ func (p *OauthProxy) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
440456 }
441457
442458 if !ok {
443− cookie, err := req.Cookie(p.CookieKey)
444− if err == nil {
445− var value string
446− value, ok = validateCookie(cookie, p.CookieSeed)
447− if ok {
448− email, user, access_token, err = parseCookieValue(
449− value, p.AesCipher)
450− if err != nil {
451− log.Printf(err.Error())
452− }
453− }
454− }
459+ email, user, access_token, ok = p.ProcessCookie(rw, req)
455460 }
456461
457462 if !ok {