diff --git a/app/rest/middleware.go b/app/rest/middleware.go index 9f096a4f..3160d3c6 100644 --- a/app/rest/middleware.go +++ b/app/rest/middleware.go @@ -5,6 +5,7 @@ import ( "log" "net/http" "os" + "runtime/debug" "strings" "time" @@ -95,9 +96,8 @@ func Recoverer(next http.Handler) http.Handler { fn := func(w http.ResponseWriter, r *http.Request) { defer func() { if rvr := recover(); rvr != nil { - log.Printf("[ERROR] request panic, %v", rvr) - + debug.PrintStack() http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError) } }() diff --git a/app/rest/server.go b/app/rest/server.go index 60787293..659ca8c6 100644 --- a/app/rest/server.go +++ b/app/rest/server.go @@ -33,9 +33,8 @@ type Server struct { func (s *Server) Run() { log.Print("[INFO] activate rest server") router := chi.NewRouter() - //router.Use(middleware.RealIP, Recoverer) - router.Use(middleware.RealIP) - router.Use(middleware.Throttle(100), middleware.Timeout(60*time.Second)) + router.Use(middleware.RealIP, Recoverer) + router.Use(middleware.Throttle(1000), middleware.Timeout(60*time.Second)) router.Use(Limiter(10), AppInfo("remark", s.Version), Ping) router.Get("/login/google", s.AuthGoogle.LoginHandler)