do not export router context.

This commit is contained in:
Miroslav Šedivý 2021-09-17 19:23:04 +02:00
parent fe84e218e6
commit fb6042ada1
2 changed files with 23 additions and 23 deletions

View File

@ -16,7 +16,7 @@ import (
type HttpManagerCtx struct { type HttpManagerCtx struct {
logger zerolog.Logger logger zerolog.Logger
config *config.Server config *config.Server
router *RouterCtx router types.Router
http *http.Server http *http.Server
} }

View File

@ -10,61 +10,61 @@ import (
"github.com/go-chi/chi/middleware" "github.com/go-chi/chi/middleware"
) )
type RouterCtx struct { type router struct {
chi chi.Router chi chi.Router
} }
func newRouter() *RouterCtx { func newRouter() *router {
router := chi.NewRouter() r := chi.NewRouter()
router.Use(middleware.RequestID) // Create a request ID for each request r.Use(middleware.RequestID) // Create a request ID for each request
router.Use(middleware.RequestLogger(&logFormatter{})) r.Use(middleware.RequestLogger(&logFormatter{}))
router.Use(middleware.Recoverer) // Recover from panics without crashing server r.Use(middleware.Recoverer) // Recover from panics without crashing server
return &RouterCtx{router} return &router{r}
} }
func (r *RouterCtx) Group(fn func(types.Router)) { func (r *router) Group(fn func(types.Router)) {
r.chi.Group(func(c chi.Router) { r.chi.Group(func(c chi.Router) {
fn(&RouterCtx{c}) fn(&router{c})
}) })
} }
func (r *RouterCtx) Route(pattern string, fn func(types.Router)) { func (r *router) Route(pattern string, fn func(types.Router)) {
r.chi.Route(pattern, func(c chi.Router) { r.chi.Route(pattern, func(c chi.Router) {
fn(&RouterCtx{c}) fn(&router{c})
}) })
} }
func (r *RouterCtx) Get(pattern string, fn types.RouterHandler) { func (r *router) Get(pattern string, fn types.RouterHandler) {
r.chi.Get(pattern, routeHandler(fn)) r.chi.Get(pattern, routeHandler(fn))
} }
func (r *RouterCtx) Post(pattern string, fn types.RouterHandler) { func (r *router) Post(pattern string, fn types.RouterHandler) {
r.chi.Post(pattern, routeHandler(fn)) r.chi.Post(pattern, routeHandler(fn))
} }
func (r *RouterCtx) Put(pattern string, fn types.RouterHandler) { func (r *router) Put(pattern string, fn types.RouterHandler) {
r.chi.Put(pattern, routeHandler(fn)) r.chi.Put(pattern, routeHandler(fn))
} }
func (r *RouterCtx) Delete(pattern string, fn types.RouterHandler) { func (r *router) Delete(pattern string, fn types.RouterHandler) {
r.chi.Delete(pattern, routeHandler(fn)) r.chi.Delete(pattern, routeHandler(fn))
} }
func (r *RouterCtx) With(fn types.MiddlewareHandler) types.Router { func (r *router) With(fn types.MiddlewareHandler) types.Router {
c := r.chi.With(middlewareHandler(fn)) c := r.chi.With(middlewareHandler(fn))
return &RouterCtx{c} return &router{c}
} }
func (r *RouterCtx) WithBypass(fn func(next http.Handler) http.Handler) types.Router { func (r *router) WithBypass(fn func(next http.Handler) http.Handler) types.Router {
c := r.chi.With(fn) c := r.chi.With(fn)
return &RouterCtx{c} return &router{c}
} }
func (r *RouterCtx) Use(fn types.MiddlewareHandler) { func (r *router) Use(fn types.MiddlewareHandler) {
r.chi.Use(middlewareHandler(fn)) r.chi.Use(middlewareHandler(fn))
} }
func (r *RouterCtx) UseBypass(fn func(next http.Handler) http.Handler) { func (r *router) UseBypass(fn func(next http.Handler) http.Handler) {
r.chi.Use(fn) r.chi.Use(fn)
} }
func (r *RouterCtx) ServeHTTP(w http.ResponseWriter, req *http.Request) { func (r *router) ServeHTTP(w http.ResponseWriter, req *http.Request) {
r.chi.ServeHTTP(w, req) r.chi.ServeHTTP(w, req)
} }