func globalFilter(req zerver.Request, resp zerver.Response, chain zerver.FilterChain) { resp.SetContentType("text/plain", nil) if resp.Status() == http.StatusNotFound { resp.SetHeader("Location", path+"/options?from="+url.QueryEscape(req.URL().Path)) resp.ReportMovedPermanently() } else if resp.Status() == http.StatusMethodNotAllowed { resp.WriteString("The pprof interface only support GET request\n") } else { chain(req, resp) } }
func (l *Log) Filter(req zerver.Request, resp zerver.Response, chain zerver.FilterChain) { if l.CountTime { nano := time.Now().UnixNano() chain(req, resp) nano = time.Now().UnixNano() - nano l.logger.Infoln( time2.ToHuman(nano), resp.Status(), req.Method(), req.URL().Path, req.RemoteIP(), req.UserAgent()) } else { chain(req, resp) l.logger.Infoln( resp.Status(), req.Method(), req.URL().Path, req.RemoteIP(), req.UserAgent()) } }
func (l *Log) Filter(req zerver.Request, resp zerver.Response, chain zerver.FilterChain) { if l.CountTime { now := time2.Now() chain(req, resp) cost := time2.Now().Sub(now) l.logger.Infoln( cost.String(), resp.Status(), req.Method(), req.URL().Path, req.RemoteIP(), req.UserAgent()) } else { chain(req, resp) l.logger.Infoln( resp.Status(), req.Method(), req.URL().Path, req.RemoteIP(), req.UserAgent()) } }