func (this *handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { var logPref string // panic 対策。 defer func() { if rcv := recover(); rcv != nil { w.Header().Set(tagX_edo_cooperation_error, fmt.Sprint(rcv)) idperr.RespondJson(w, r, erro.New(rcv), logPref) return } }() if this.stopper != nil { this.stopper.Stop() defer this.stopper.Unstop() } logPref = server.ParseSender(r) + ": " server.LogRequest(level.DEBUG, r, this.debug, logPref) log.Info(logPref, "Received cooperation request") defer log.Info(logPref, "Handled cooperation request") if err := (&environment{this, logPref}).serve(w, r); err != nil { w.Header().Set(tagX_edo_cooperation_error, idperr.From(err).ErrorDescription()) idperr.RespondJson(w, r, erro.Wrap(err), logPref) return } }
// ユーザー認証開始。 func (this *Page) HandleAuth(w http.ResponseWriter, r *http.Request) { var logPref string // panic 対策。 defer func() { if rcv := recover(); rcv != nil { server.RespondErrorHtml(w, r, erro.New(rcv), this.errTmpl, logPref) return } }() if this.stopper != nil { this.stopper.Stop() defer this.stopper.Unstop() } logPref = server.ParseSender(r) + ": " server.LogRequest(level.DEBUG, r, this.debug, logPref) log.Info(logPref, "Received authentication request") defer log.Info(logPref, "Handled authentication request") if err := (&environment{this, logPref, "", nil}).authServe(w, r); err != nil { server.RespondErrorHtml(w, r, erro.Wrap(err), this.errTmpl, logPref) return } return }