add real ip logging

This commit is contained in:
2026-01-03 15:39:00 +02:00
parent ac26a981b2
commit 9070b4138e

View File

@@ -15,6 +15,7 @@ import (
"git.oblat.lv/alex/triggerssmith/internal/acl" "git.oblat.lv/alex/triggerssmith/internal/acl"
"git.oblat.lv/alex/triggerssmith/internal/auth" "git.oblat.lv/alex/triggerssmith/internal/auth"
"git.oblat.lv/alex/triggerssmith/internal/config" "git.oblat.lv/alex/triggerssmith/internal/config"
"git.oblat.lv/alex/triggerssmith/internal/server"
"git.oblat.lv/alex/triggerssmith/internal/vars" "git.oblat.lv/alex/triggerssmith/internal/vars"
"github.com/go-chi/chi/v5" "github.com/go-chi/chi/v5"
"github.com/go-chi/chi/v5/middleware" "github.com/go-chi/chi/v5/middleware"
@@ -59,6 +60,7 @@ func NewRouter(deps RouterDependencies) *Router {
// RouteHandler sets up the routes and middleware for the router. // RouteHandler sets up the routes and middleware for the router.
// TODO: implement hot reload for static files enabled/disabled // TODO: implement hot reload for static files enabled/disabled
func (r *Router) MustRoute() chi.Router { func (r *Router) MustRoute() chi.Router {
r.r.Use(middleware.RealIP)
r.r.Use(middleware.Logger) r.r.Use(middleware.Logger)
r.r.Use(middleware.Recoverer) r.r.Use(middleware.Recoverer)
r.r.Use(middleware.Timeout(r.cfg.Server.TimeoutSeconds)) r.r.Use(middleware.Timeout(r.cfg.Server.TimeoutSeconds))
@@ -106,6 +108,14 @@ func (r *Router) MustRoute() chi.Router {
}) })
w.Write([]byte(b)) w.Write([]byte(b))
}) })
r.r.NotFound(func(w http.ResponseWriter, req *http.Request) {
w.Header().Set("Content-Type", "application/problem+json")
server.WriteProblem(w, http.StatusNotFound, "/errors/not-found", "Not found", "Requested page not found", req)
})
r.r.MethodNotAllowed(func(w http.ResponseWriter, req *http.Request) {
w.Header().Set("Content-Type", "application/problem+json")
server.WriteProblem(w, http.StatusMethodNotAllowed, "/errors/method-not-allowed", "Method not allowed", "Requested method not allowed", req)
})
//r.r.Handle("/invoke/function/{function_id}/{function_version}", invoke.InvokeHandler(r.cfg)) //r.r.Handle("/invoke/function/{function_id}/{function_version}", invoke.InvokeHandler(r.cfg))
return r.r return r.r
} }