diff --git a/pkg/apiserver/apiserver_test.go b/pkg/apiserver/apiserver_test.go index 9b331590fb1..e150796b269 100644 --- a/pkg/apiserver/apiserver_test.go +++ b/pkg/apiserver/apiserver_test.go @@ -3251,8 +3251,8 @@ func newTestServer(handler http.Handler) *httptest.Server { return httptest.NewServer(handler) } -func newTestRequestInfoResolver() *request.RequestInfoResolver { - return &request.RequestInfoResolver{ +func newTestRequestInfoResolver() *request.RequestInfoFactory { + return &request.RequestInfoFactory{ APIPrefixes: sets.NewString("api", "apis"), GrouplessAPIPrefixes: sets.NewString("api"), } diff --git a/pkg/apiserver/filters/audit_test.go b/pkg/apiserver/filters/audit_test.go index 1b125fe6095..375b26b2cb0 100644 --- a/pkg/apiserver/filters/audit_test.go +++ b/pkg/apiserver/filters/audit_test.go @@ -113,7 +113,7 @@ func (m *fakeRequestContextMapper) Get(req *http.Request) (api.Context, bool) { } resolver := newTestRequestInfoResolver() - info, err := resolver.GetRequestInfo(req) + info, err := resolver.NewRequestInfo(req) if err == nil { ctx = request.WithRequestInfo(ctx, info) } diff --git a/pkg/apiserver/filters/requestinfo.go b/pkg/apiserver/filters/requestinfo.go index 0838e23e360..0e024c3e2e1 100644 --- a/pkg/apiserver/filters/requestinfo.go +++ b/pkg/apiserver/filters/requestinfo.go @@ -26,7 +26,7 @@ import ( ) // WithRequestInfo attaches a RequestInfo to the context. -func WithRequestInfo(handler http.Handler, resolver *request.RequestInfoResolver, requestContextMapper api.RequestContextMapper) http.Handler { +func WithRequestInfo(handler http.Handler, resolver *request.RequestInfoFactory, requestContextMapper api.RequestContextMapper) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { ctx, ok := requestContextMapper.Get(req) if !ok { @@ -34,7 +34,7 @@ func WithRequestInfo(handler http.Handler, resolver *request.RequestInfoResolver return } - info, err := resolver.GetRequestInfo(req) + info, err := resolver.NewRequestInfo(req) if err != nil { internalError(w, req, fmt.Errorf("failed to create RequestInfo: %v", err)) return diff --git a/pkg/apiserver/filters/requestinfo_test.go b/pkg/apiserver/filters/requestinfo_test.go index b7e2341f60e..b22c8c77812 100644 --- a/pkg/apiserver/filters/requestinfo_test.go +++ b/pkg/apiserver/filters/requestinfo_test.go @@ -21,8 +21,8 @@ import ( "k8s.io/kubernetes/pkg/util/sets" ) -func newTestRequestInfoResolver() *request.RequestInfoResolver { - return &request.RequestInfoResolver{ +func newTestRequestInfoResolver() *request.RequestInfoFactory { + return &request.RequestInfoFactory{ APIPrefixes: sets.NewString("api", "apis"), GrouplessAPIPrefixes: sets.NewString("api"), } diff --git a/pkg/apiserver/request/requestinfo.go b/pkg/apiserver/request/requestinfo.go index 04bdb55cddd..ace7e793d69 100644 --- a/pkg/apiserver/request/requestinfo.go +++ b/pkg/apiserver/request/requestinfo.go @@ -67,13 +67,13 @@ var namespaceSubresources = sets.NewString("status", "finalize") // NamespaceSubResourcesForTest exports namespaceSubresources for testing in pkg/master/master_test.go, so we never drift var NamespaceSubResourcesForTest = sets.NewString(namespaceSubresources.List()...) -type RequestInfoResolver struct { +type RequestInfoFactory struct { APIPrefixes sets.String // without leading and trailing slashes GrouplessAPIPrefixes sets.String // without leading and trailing slashes } // TODO write an integration test against the swagger doc to test the RequestInfo and match up behavior to responses -// GetRequestInfo returns the information from the http request. If error is not nil, RequestInfo holds the information as best it is known before the failure +// NewRequestInfo returns the information from the http request. If error is not nil, RequestInfo holds the information as best it is known before the failure // It handles both resource and non-resource requests and fills in all the pertinent information for each. // Valid Inputs: // Resource paths @@ -103,7 +103,7 @@ type RequestInfoResolver struct { // /api // /healthz // / -func (r *RequestInfoResolver) GetRequestInfo(req *http.Request) (*RequestInfo, error) { +func (r *RequestInfoFactory) NewRequestInfo(req *http.Request) (*RequestInfo, error) { // start with a non-resource request until proven otherwise requestInfo := RequestInfo{ IsResourceRequest: false, diff --git a/pkg/apiserver/request/requestinfo_test.go b/pkg/apiserver/request/requestinfo_test.go index 13c59a5511e..d2d32eb875e 100644 --- a/pkg/apiserver/request/requestinfo_test.go +++ b/pkg/apiserver/request/requestinfo_test.go @@ -104,7 +104,7 @@ func TestGetAPIRequestInfo(t *testing.T) { for _, successCase := range successCases { req, _ := http.NewRequest(successCase.method, successCase.url, nil) - apiRequestInfo, err := resolver.GetRequestInfo(req) + apiRequestInfo, err := resolver.NewRequestInfo(req) if err != nil { t.Errorf("Unexpected error for url: %s %v", successCase.url, err) } @@ -147,7 +147,7 @@ func TestGetAPIRequestInfo(t *testing.T) { if err != nil { t.Errorf("Unexpected error %v", err) } - apiRequestInfo, err := resolver.GetRequestInfo(req) + apiRequestInfo, err := resolver.NewRequestInfo(req) if err != nil { t.Errorf("%s: Unexpected error %v", k, err) } @@ -183,7 +183,7 @@ func TestGetNonAPIRequestInfo(t *testing.T) { for testName, tc := range tests { req, _ := http.NewRequest("GET", tc.url, nil) - apiRequestInfo, err := resolver.GetRequestInfo(req) + apiRequestInfo, err := resolver.NewRequestInfo(req) if err != nil { t.Errorf("%s: Unexpected error %v", testName, err) } @@ -193,8 +193,8 @@ func TestGetNonAPIRequestInfo(t *testing.T) { } } -func newTestRequestInfoResolver() *RequestInfoResolver { - return &RequestInfoResolver{ +func newTestRequestInfoResolver() *RequestInfoFactory { + return &RequestInfoFactory{ APIPrefixes: sets.NewString("api", "apis"), GrouplessAPIPrefixes: sets.NewString("api"), } diff --git a/pkg/genericapiserver/config.go b/pkg/genericapiserver/config.go index 86a9b831356..e14320acbb8 100644 --- a/pkg/genericapiserver/config.go +++ b/pkg/genericapiserver/config.go @@ -507,8 +507,8 @@ func DefaultAndValidateRunOptions(options *options.ServerRunOptions) { } } -func NewRequestInfoResolver(c *Config) *request.RequestInfoResolver { - return &request.RequestInfoResolver{ +func NewRequestInfoResolver(c *Config) *request.RequestInfoFactory { + return &request.RequestInfoFactory{ APIPrefixes: sets.NewString(strings.Trim(c.APIPrefix, "/"), strings.Trim(c.APIGroupPrefix, "/")), // all possible API prefixes GrouplessAPIPrefixes: sets.NewString(strings.Trim(c.APIPrefix, "/")), // APIPrefixes that won't have groups (legacy) }