Skip to content

Commit

Permalink
Merge pull request #61 from kubernetes-sigs/revert-60-feat/plumb-pare…
Browse files Browse the repository at this point in the history
…nt-ctx

Revert "Feat: Plumb parent ctx if applicable"
  • Loading branch information
k8s-ci-robot committed Feb 8, 2022
2 parents 665c7c4 + 0e1e52d commit 0163317
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 36 deletions.
2 changes: 1 addition & 1 deletion pkg/builder/builder_resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ func (a *Server) withSubResourceIfExists(obj resource.Object, parentStorageProvi
for _, sub := range sgs.GetArbitrarySubResources() {
sub := sub
subResourceGVR := parentGVR.GroupVersion().WithResource(parentGVR.Resource + "/" + sub.SubResourceName())
a.forGroupVersionSubResource(subResourceGVR, parentStorageProvider, rest.ParentStaticHandlerProvider{Storage: sub}.Get)
a.forGroupVersionSubResource(subResourceGVR, parentStorageProvider, rest.StaticHandlerProvider{Storage: sub}.Get)
}
}
}
35 changes: 0 additions & 35 deletions pkg/builder/rest/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,10 @@ limitations under the License.
package rest

import (
"context"

v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apiserver/pkg/registry/generic"
"k8s.io/apiserver/pkg/registry/rest"
"sigs.k8s.io/apiserver-runtime/internal/sample-apiserver/pkg/apiserver"
contextutil "sigs.k8s.io/apiserver-runtime/pkg/util/context"
)

// ResourceHandlerProvider provides a request handler for a resource
Expand All @@ -37,36 +33,5 @@ type StaticHandlerProvider struct { // TODO: privatize

// Get returns itself as the handler
func (p StaticHandlerProvider) Get(s *runtime.Scheme, g generic.RESTOptionsGetter) (rest.Storage, error) {
if getter, isGetter := p.Storage.(rest.Getter); isGetter {
return parentPlumbedStorageProvider{delegate: getter}, nil
}
return p.Storage, nil
}

// ParentStaticHandlerProvider returns itself as the request handler, but with the parent
// storage plumbed in the context.
type ParentStaticHandlerProvider struct {
rest.Storage
}

// Get returns itself as the handler
func (p ParentStaticHandlerProvider) Get(s *runtime.Scheme, g generic.RESTOptionsGetter) (rest.Storage, error) {
if getter, isGetter := p.Storage.(rest.Getter); isGetter {
return parentPlumbedStorageProvider{delegate: getter}, nil
}
return p.Storage, nil
}

var _ rest.Getter = &parentPlumbedStorageProvider{}

type parentPlumbedStorageProvider struct {
delegate rest.Getter
}

func (p parentPlumbedStorageProvider) New() runtime.Object {
return p.delegate.(rest.Storage).New()
}

func (p parentPlumbedStorageProvider) Get(ctx context.Context, name string, options *v1.GetOptions) (runtime.Object, error) {
return p.delegate.Get(contextutil.WithParentStorage(ctx, p.delegate.(rest.Storage)), name, options)
}

0 comments on commit 0163317

Please sign in to comment.