refactor!: Use gin router instead chi router

- Removed chi dependencies
- Updated router registration logic
This commit is contained in:
2025-11-04 13:44:18 +03:00
parent 7e9653606e
commit 7bc4ce8c96
13 changed files with 499 additions and 294 deletions

View File

@@ -4,7 +4,7 @@ import (
"encoding/json"
"net/http"
"github.com/go-chi/chi/v5/middleware"
"github.com/gin-gonic/gin"
)
type ResponseErr struct {
@@ -23,7 +23,7 @@ type ResponseErrBuilder interface {
WithStatusCode(int) ResponseErrBuilder
WithTrace(string) ResponseErrBuilder
Ready() ResponseErrReadyToSend
Send(http.ResponseWriter, *http.Request) error
Send(ctx *gin.Context) error
}
type responseErrBuilder struct {
@@ -92,11 +92,12 @@ func (r responseErrBuilder) Ready() ResponseErrReadyToSend {
}
}
func (r responseErrBuilder) Send(response http.ResponseWriter, request *http.Request) error {
func (r responseErrBuilder) Send(ginCtx *gin.Context) error {
if r.ready == nil {
r.ready = &ResponseErr{
Message: r.message,
Trace: middleware.GetReqID(request.Context()),
// TODO get traceID from gin context
Trace: "",
Details: r.details,
}
}
@@ -110,10 +111,10 @@ func (r responseErrBuilder) Send(response http.ResponseWriter, request *http.Req
r.status = http.StatusInternalServerError
}
response.Header().Set("Content-Type", "application/json")
response.WriteHeader(r.status)
ginCtx.Writer.Header().Set("Content-Type", "application/json")
ginCtx.Writer.WriteHeader(r.status)
_, err = response.Write(format)
_, err = ginCtx.Writer.Write(format)
return err
}