forked from TrueCloudLab/frostfs-s3-gw
28 lines
488 B
Go
28 lines
488 B
Go
|
package middleware
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"net/http"
|
||
|
|
||
|
"go.uber.org/zap"
|
||
|
)
|
||
|
|
||
|
type Func func(h http.Handler) http.Handler
|
||
|
|
||
|
func WrapHandler(handler http.HandlerFunc) Func {
|
||
|
return func(h http.Handler) http.Handler {
|
||
|
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||
|
handler(w, r)
|
||
|
h.ServeHTTP(w, r)
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func reqLogOrDefault(ctx context.Context, log *zap.Logger) *zap.Logger {
|
||
|
reqLog := GetReqLog(ctx)
|
||
|
if reqLog != nil {
|
||
|
return reqLog
|
||
|
}
|
||
|
return log
|
||
|
}
|