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  }