mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
chore: remove middleware to request version and entitlement warnings (#12750)
This cleans up `root.go` a bit, adds tests for middleware HTTP transport functions, and removes two HTTP requests we always always performed previously when executing *any* client command. It should improve CLI performance (especially for users with higher latency).
This commit is contained in:
@@ -113,6 +113,13 @@ type ExtractAPIKeyConfig struct {
|
||||
// SessionTokenFunc is a custom function that can be used to extract the API
|
||||
// key. If nil, the default behavior is used.
|
||||
SessionTokenFunc func(r *http.Request) string
|
||||
|
||||
// PostAuthAdditionalHeadersFunc is a function that can be used to add
|
||||
// headers to the response after the user has been authenticated.
|
||||
//
|
||||
// This is originally implemented to send entitlement warning headers after
|
||||
// a user is authenticated to prevent additional CLI invocations.
|
||||
PostAuthAdditionalHeadersFunc func(a Authorization, header http.Header)
|
||||
}
|
||||
|
||||
// ExtractAPIKeyMW calls ExtractAPIKey with the given config on each request,
|
||||
@@ -454,6 +461,10 @@ func ExtractAPIKey(rw http.ResponseWriter, r *http.Request, cfg ExtractAPIKeyCon
|
||||
}.WithCachedASTValue(),
|
||||
}
|
||||
|
||||
if cfg.PostAuthAdditionalHeadersFunc != nil {
|
||||
cfg.PostAuthAdditionalHeadersFunc(authz, rw.Header())
|
||||
}
|
||||
|
||||
return key, &authz, true
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user