[#111] auth: Get log from real request context #163

Merged

View file

@ -26,12 +26,11 @@ var ClientTime = KeyWrapper("__context_client_time")
func AuthMiddleware(log *zap.Logger, center auth.Center) mux.MiddlewareFunc { func AuthMiddleware(log *zap.Logger, center auth.Center) mux.MiddlewareFunc {
return func(h http.Handler) http.Handler { return func(h http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
var ctx context.Context ctx := r.Context()
box, err := center.Authenticate(r) box, err := center.Authenticate(r)
if err != nil { if err != nil {
if err == auth.ErrNoAuthorizationHeader { if err == auth.ErrNoAuthorizationHeader {
reqLogOrDefault(ctx, log).Debug("couldn't receive access box for gate key, random key will be used") reqLogOrDefault(ctx, log).Debug("couldn't receive access box for gate key, random key will be used")
ctx = r.Context()
} else { } else {
reqLogOrDefault(ctx, log).Error("failed to pass authentication", zap.Error(err)) reqLogOrDefault(ctx, log).Error("failed to pass authentication", zap.Error(err))
if _, ok := err.(errors.Error); !ok { if _, ok := err.(errors.Error); !ok {
@ -41,7 +40,7 @@ func AuthMiddleware(log *zap.Logger, center auth.Center) mux.MiddlewareFunc {
return return
} }
} else { } else {
ctx = context.WithValue(r.Context(), BoxData, box.AccessBox) ctx = context.WithValue(ctx, BoxData, box.AccessBox)
if !box.ClientTime.IsZero() { if !box.ClientTime.IsZero() {
ctx = context.WithValue(ctx, ClientTime, box.ClientTime) ctx = context.WithValue(ctx, ClientTime, box.ClientTime)
} }