cleaned up unused middleware

This commit is contained in:
2026-01-24 13:29:32 -07:00
parent e0597b31e8
commit d8c7427eb2
2 changed files with 0 additions and 102 deletions
-16
View File
@@ -1,16 +0,0 @@
package middleware
import (
"ruben/inventory2/internal/server/response"
)
func Chain(ms ...response.Middleware) response.Middleware {
return func(fn response.HandlerFunc) response.HandlerFunc {
res := fn
for _, m := range ms {
prev := res
res = m(prev)
}
return res
}
}
-86
View File
@@ -1,86 +0,0 @@
package middleware
import (
"context"
"net/http"
"time"
"ruben/inventory2/internal/logging"
"ruben/inventory2/internal/server/response"
"github.com/gin-gonic/gin"
)
// TODO: make this GIN compatible
func LogRequests(ctx context.Context, logger *logging.Logger) response.Middleware {
reqIDCh := newRequestIDProvider(ctx)
return func(fn response.HandlerFunc) response.HandlerFunc {
return func(c *gin.Context) (response.Response, error) {
start := time.Now()
r := c.Request
args := []any{
"id", <-reqIDCh,
"url", r.URL,
"method", r.Method,
}
logger.Debug("Request", args...)
res, err := fn(c)
end := time.Now()
var status int
if err != nil {
status = response.GetStatusFromError(err)
} else {
var ok bool
if status, ok = res.GetStatus(); !ok {
status = http.StatusOK
}
}
args = append(args,
"status", status,
"elapsed", time.Duration(end.UnixNano()-start.UnixNano()),
)
switch status / 100 {
case 1:
logger.Debug("Response", args...)
case 2:
logger.Debug("Response", args...)
case 3:
logger.Debug("Response", args...)
case 4:
logger.Warn("Response", args...)
default:
logger.Error("Response", args...)
}
return res, err
}
}
}
func newRequestIDProvider(ctx context.Context) <-chan int {
reqIDCh := make(chan int)
go func() {
defer close(reqIDCh)
nextReqID := 1
for {
select {
case reqIDCh <- nextReqID:
nextReqID += 1
case <-ctx.Done():
return
}
}
}()
return reqIDCh
}