mirror of
https://github.com/akyaiy/GoSally-mvp.git
synced 2026-01-03 19:52:25 +00:00
Refactor logging: update request logging to use dynamic API version retrieval in Handle and HandleList methods
This commit is contained in:
@@ -70,14 +70,19 @@ func (s *GeneralServer) Handle(w http.ResponseWriter, r *http.Request) {
|
|||||||
s.w = w
|
s.w = w
|
||||||
s.r = r
|
s.r = r
|
||||||
serverReqApiVer := chi.URLParam(r, "ver")
|
serverReqApiVer := chi.URLParam(r, "ver")
|
||||||
|
log := s.log.With(
|
||||||
s.log.Info("Received request",
|
slog.Group("request",
|
||||||
slog.String("remote", r.RemoteAddr),
|
slog.String("version", serverReqApiVer),
|
||||||
slog.String("method", r.Method),
|
slog.String("url", s.r.URL.String()),
|
||||||
slog.String("url", r.URL.String()),
|
slog.String("method", s.r.Method),
|
||||||
slog.String("requested-version", serverReqApiVer),
|
),
|
||||||
|
slog.Group("connection",
|
||||||
|
slog.String("remote", s.r.RemoteAddr),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
s.log.Info("Received request")
|
||||||
|
|
||||||
if srv, ok := s.servers[serversApiVer(serverReqApiVer)]; ok {
|
if srv, ok := s.servers[serversApiVer(serverReqApiVer)]; ok {
|
||||||
srv.Handle(w, r)
|
srv.Handle(w, r)
|
||||||
return
|
return
|
||||||
@@ -94,10 +99,7 @@ func (s *GeneralServer) Handle(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
s.log.Error("HTTP request error: unsupported API version",
|
log.Error("HTTP request error: unsupported API version",
|
||||||
slog.String("remote", s.r.RemoteAddr),
|
|
||||||
slog.String("method", s.r.Method),
|
|
||||||
slog.String("url", s.r.URL.String()),
|
|
||||||
slog.Int("status", http.StatusBadRequest))
|
slog.Int("status", http.StatusBadRequest))
|
||||||
s.writeJSONError(http.StatusBadRequest, "unsupported API version")
|
s.writeJSONError(http.StatusBadRequest, "unsupported API version")
|
||||||
}
|
}
|
||||||
@@ -107,13 +109,19 @@ func (s *GeneralServer) HandleList(w http.ResponseWriter, r *http.Request) {
|
|||||||
s.r = r
|
s.r = r
|
||||||
serverReqApiVer := chi.URLParam(r, "ver")
|
serverReqApiVer := chi.URLParam(r, "ver")
|
||||||
|
|
||||||
s.log.Info("Received request",
|
log := s.log.With(
|
||||||
slog.String("remote", r.RemoteAddr),
|
slog.Group("request",
|
||||||
slog.String("method", r.Method),
|
slog.String("version", serverReqApiVer),
|
||||||
slog.String("url", r.URL.String()),
|
slog.String("url", s.r.URL.String()),
|
||||||
slog.String("requested-version", serverReqApiVer),
|
slog.String("method", s.r.Method),
|
||||||
|
),
|
||||||
|
slog.Group("connection",
|
||||||
|
slog.String("remote", s.r.RemoteAddr),
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
log.Info("Received request")
|
||||||
|
|
||||||
if srv, ok := s.servers[serversApiVer(serverReqApiVer)]; ok {
|
if srv, ok := s.servers[serversApiVer(serverReqApiVer)]; ok {
|
||||||
srv.HandleList(w, r)
|
srv.HandleList(w, r)
|
||||||
return
|
return
|
||||||
@@ -121,7 +129,7 @@ func (s *GeneralServer) HandleList(w http.ResponseWriter, r *http.Request) {
|
|||||||
|
|
||||||
if slices.Contains(s.cfg.Layers, serverReqApiVer) {
|
if slices.Contains(s.cfg.Layers, serverReqApiVer) {
|
||||||
if srv, ok := s.servers[serversApiVer(s.cfg.LatestVer)]; ok {
|
if srv, ok := s.servers[serversApiVer(s.cfg.LatestVer)]; ok {
|
||||||
s.log.Info("Using latest version under custom layer",
|
log.Info("Using latest version under custom layer",
|
||||||
slog.String("layer", serverReqApiVer),
|
slog.String("layer", serverReqApiVer),
|
||||||
slog.String("fallback-version", s.cfg.LatestVer),
|
slog.String("fallback-version", s.cfg.LatestVer),
|
||||||
)
|
)
|
||||||
@@ -130,22 +138,19 @@ func (s *GeneralServer) HandleList(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
s.log.Error("HTTP request error: unsupported API version",
|
log.Error("HTTP request error: unsupported API version",
|
||||||
slog.String("remote", s.r.RemoteAddr),
|
|
||||||
slog.String("method", s.r.Method),
|
|
||||||
slog.String("url", s.r.URL.String()),
|
|
||||||
slog.Int("status", http.StatusBadRequest))
|
slog.Int("status", http.StatusBadRequest))
|
||||||
s.writeJSONError(http.StatusBadRequest, "unsupported API version")
|
s.writeJSONError(http.StatusBadRequest, "unsupported API version")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *GeneralServer) _errNotFound() {
|
// func (s *GeneralServer) _errNotFound() {
|
||||||
s.writeJSONError(http.StatusBadRequest, "invalid request")
|
// s.writeJSONError(http.StatusBadRequest, "invalid request")
|
||||||
s.log.Error("HTTP request error",
|
// s.log.Error("HTTP request error",
|
||||||
slog.String("remote", s.r.RemoteAddr),
|
// slog.String("remote", s.r.RemoteAddr),
|
||||||
slog.String("method", s.r.Method),
|
// slog.String("method", s.r.Method),
|
||||||
slog.String("url", s.r.URL.String()),
|
// slog.String("url", s.r.URL.String()),
|
||||||
slog.Int("status", http.StatusBadRequest))
|
// slog.Int("status", http.StatusBadRequest))
|
||||||
}
|
// }
|
||||||
|
|
||||||
func (s *GeneralServer) writeJSONError(status int, msg string) {
|
func (s *GeneralServer) writeJSONError(status int, msg string) {
|
||||||
s.w.Header().Set("Content-Type", "application/json")
|
s.w.Header().Set("Content-Type", "application/json")
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ func (h *HandlerV1) _handle() {
|
|||||||
uuid16 := h.newUUID()
|
uuid16 := h.newUUID()
|
||||||
log := h.log.With(
|
log := h.log.With(
|
||||||
slog.Group("request",
|
slog.Group("request",
|
||||||
slog.String("version", "v1"),
|
slog.String("version", h.GetVersion()),
|
||||||
slog.String("url", h.r.URL.String()),
|
slog.String("url", h.r.URL.String()),
|
||||||
slog.String("method", h.r.Method),
|
slog.String("method", h.r.Method),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ func (h *HandlerV1) _handleList() {
|
|||||||
uuid16 := h.newUUID()
|
uuid16 := h.newUUID()
|
||||||
log := h.log.With(
|
log := h.log.With(
|
||||||
slog.Group("request",
|
slog.Group("request",
|
||||||
slog.String("version", "v1"),
|
slog.String("version", h.GetVersion()),
|
||||||
slog.String("url", h.r.URL.String()),
|
slog.String("url", h.r.URL.String()),
|
||||||
slog.String("method", h.r.Method),
|
slog.String("method", h.r.Method),
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user