github.com/weaveworks/common@v0.0.0-20230728070032-dd9e68f319d5/middleware/http_auth.go (about) 1 package middleware 2 3 import ( 4 "net/http" 5 6 "github.com/weaveworks/common/user" 7 ) 8 9 // AuthenticateUser propagates the user ID from HTTP headers back to the request's context. 10 var AuthenticateUser = Func(func(next http.Handler) http.Handler { 11 return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 12 _, ctx, err := user.ExtractOrgIDFromHTTPRequest(r) 13 if err != nil { 14 http.Error(w, err.Error(), http.StatusUnauthorized) 15 return 16 } 17 next.ServeHTTP(w, r.WithContext(ctx)) 18 }) 19 })