http-api-kit/middleware.go

18 lines
376 B
Go

package main
import (
"fmt"
"log/slog"
"net/http"
"time"
)
type Middleware = func(http.HandlerFunc) http.HandlerFunc
func LoggingMiddleware(f http.HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
start := time.Now()
f(w, r)
slog.Info(fmt.Sprintf("%s - %s (%dms)", r.Method, r.URL, time.Now().Sub(start).Milliseconds()))
}
}