|
|
|
@ -6,6 +6,7 @@ package routes
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"encoding/gob"
|
|
|
|
|
"fmt"
|
|
|
|
|
"net/http"
|
|
|
|
|
"os"
|
|
|
|
|
"path"
|
|
|
|
@ -45,12 +46,34 @@ import (
|
|
|
|
|
macaron "gopkg.in/macaron.v1"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func giteaLogger(l *log.LoggerAsWriter) macaron.Handler {
|
|
|
|
|
return func(ctx *macaron.Context) {
|
|
|
|
|
start := time.Now()
|
|
|
|
|
|
|
|
|
|
l.Log(fmt.Sprintf("[Macaron] Started %s %s for %s", ctx.Req.Method, ctx.Req.RequestURI, ctx.RemoteAddr()))
|
|
|
|
|
|
|
|
|
|
ctx.Next()
|
|
|
|
|
|
|
|
|
|
rw := ctx.Resp.(macaron.ResponseWriter)
|
|
|
|
|
l.Log(fmt.Sprintf("[Macaron] Completed %s %s %v %s in %v", ctx.Req.Method, ctx.Req.RequestURI, rw.Status(), http.StatusText(rw.Status()), time.Since(start)))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// NewMacaron initializes Macaron instance.
|
|
|
|
|
func NewMacaron() *macaron.Macaron {
|
|
|
|
|
gob.Register(&u2f.Challenge{})
|
|
|
|
|
m := macaron.New()
|
|
|
|
|
if !setting.DisableRouterLog {
|
|
|
|
|
m.Use(macaron.Logger())
|
|
|
|
|
var m *macaron.Macaron
|
|
|
|
|
if setting.RedirectMacaronLog {
|
|
|
|
|
loggerAsWriter := log.NewLoggerAsWriter("INFO")
|
|
|
|
|
m = macaron.NewWithLogger(loggerAsWriter)
|
|
|
|
|
if !setting.DisableRouterLog {
|
|
|
|
|
m.Use(giteaLogger(loggerAsWriter))
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
m = macaron.New()
|
|
|
|
|
if !setting.DisableRouterLog {
|
|
|
|
|
m.Use(macaron.Logger())
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
m.Use(macaron.Recovery())
|
|
|
|
|
if setting.EnableGzip {
|
|
|
|
|