fleet/server/service/http_auth.go

32 lines
853 B
Go
Raw Normal View History

2016-09-26 18:48:55 +00:00
package service
2016-08-28 03:59:17 +00:00
import (
"context"
2016-08-28 03:59:17 +00:00
"net/http"
"github.com/fleetdm/fleet/v4/server/contexts/logging"
2021-06-26 04:46:51 +00:00
"github.com/fleetdm/fleet/v4/server/contexts/token"
"github.com/fleetdm/fleet/v4/server/contexts/viewer"
"github.com/fleetdm/fleet/v4/server/fleet"
kithttp "github.com/go-kit/kit/transport/http"
2016-08-28 03:59:17 +00:00
)
// setRequestsContexts updates the request with necessary context values for a request
func setRequestsContexts(svc fleet.Service) kithttp.RequestFunc {
return func(ctx context.Context, r *http.Request) context.Context {
bearer := token.FromHTTPRequest(r)
ctx = token.NewContext(ctx, bearer)
if bearer != "" {
v, err := authViewer(ctx, string(bearer), svc)
if err == nil {
ctx = viewer.NewContext(ctx, *v)
}
}
ctx = logging.NewContext(ctx, &logging.LoggingContext{})
ctx = logging.WithStartTime(ctx)
return ctx
2016-08-28 03:59:17 +00:00
}
}