gitlab.com/ignitionrobotics/web/ign-go@v1.0.0-rc4/net/router.go (about) 1 package net 2 3 import ( 4 "github.com/go-chi/chi/v5" 5 "github.com/go-chi/chi/v5/middleware" 6 "github.com/go-chi/render" 7 "net/http" 8 ) 9 10 // NewRouter initializes a new HTTP router using chi. 11 // It also loads middlewares used on every incoming HTTP request. 12 func NewRouter() chi.Router { 13 r := chi.NewRouter() 14 r.Use(middleware.RequestID) 15 r.Use(middleware.RealIP) 16 r.Use(middleware.Logger) 17 r.Use(middleware.Recoverer) 18 r.Use(render.SetContentType(render.ContentTypeJSON)) 19 return r 20 } 21 22 // RoutesGetter holds a method to get routes. 23 type RoutesGetter interface { 24 // Routes returns a set of routes in a http.Handler form. 25 Routes() http.Handler 26 }