summaryrefslogtreecommitdiff
path: root/internal/router/router.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/router/router.go')
-rw-r--r--internal/router/router.go23
1 files changed, 8 insertions, 15 deletions
diff --git a/internal/router/router.go b/internal/router/router.go
index 621d93ff5..cd6b7469d 100644
--- a/internal/router/router.go
+++ b/internal/router/router.go
@@ -104,23 +104,16 @@ func (r *router) Stop(ctx context.Context) error {
// The given DB is only used in the New function for parsing config values, and is not otherwise
// pinned to the router.
func New(ctx context.Context, cfg *config.Config, db db.DB, logger *logrus.Logger) (Router, error) {
-
- // gin has different log modes; for convenience, we match the gin log mode to
- // whatever log mode has been set for logrus
- lvl, err := logrus.ParseLevel(cfg.LogLevel)
- if err != nil {
- return nil, fmt.Errorf("couldn't parse log level %s to set router level: %s", cfg.LogLevel, err)
- }
- switch lvl {
- case logrus.TraceLevel, logrus.DebugLevel:
- gin.SetMode(gin.DebugMode)
- default:
- gin.SetMode(gin.ReleaseMode)
- }
+ gin.SetMode(gin.ReleaseMode)
// create the actual engine here -- this is the core request routing handler for gts
- engine := gin.Default()
- engine.MaxMultipartMemory = 8 << 20 // 8 MiB
+ engine := gin.New()
+
+ engine.Use(gin.RecoveryWithWriter(logger.Writer()))
+ engine.Use(loggerWithConfig(logger))
+
+ // 8 MiB
+ engine.MaxMultipartMemory = 8 << 20
// set up IP forwarding via x-forward-* headers.
if err := engine.SetTrustedProxies(cfg.TrustedProxies); err != nil {