Browse Source

[fix] middleware

main v0.1.23
loveckiy.ivan 3 months ago
parent
commit
7cb76a9039
  1. 14
      fields.go
  2. 4
      middleware.go

14
fields.go

@ -53,8 +53,18 @@ func WithFieldsContext(ctx context.Context, fields ...Field) context.Context {
}
func GetFieldCtx(ctx context.Context, name string) string {
nameKey := key("logger." + name)
requestID, _ := ctx.Value(nameKey).(string)
if ctx == nil {
return ""
}
nameKey := "logger." + name
a := ctx.Value(nameKey)
if a == nil {
return ""
}
requestID, ok := a.(string)
if !ok {
return ""
}
return requestID
}

4
middleware.go

@ -98,6 +98,10 @@ func HTTPMiddleware(next http.Handler) http.Handler {
// HttpClientHeaders устанавливает заголовки реквеста из контекста и headers
func HttpClientHeaders(ctx context.Context, req *http.Request, headers map[string]string) {
if req == nil {
return
}
for ctxField, headerField := range models.ProxiedHeaders {
if value := GetFieldCtx(ctx, ctxField); value != "" {
req.Header.Add(headerField, value)

Loading…
Cancel
Save