diff --git a/pkg/registry/thirdpartyresourcedata/codec.go b/pkg/registry/thirdpartyresourcedata/codec.go index 8a315ca14c1..3c09c6c6a07 100644 --- a/pkg/registry/thirdpartyresourcedata/codec.go +++ b/pkg/registry/thirdpartyresourcedata/codec.go @@ -33,6 +33,7 @@ import ( "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/runtime" + "k8s.io/kubernetes/pkg/runtime/serializer/streaming" ) type thirdPartyObjectConverter struct { @@ -202,6 +203,11 @@ type thirdPartyResourceDataCodec struct { kind string } +var ( + _ runtime.Codec = &thirdPartyResourceDataCodec{} + _ streaming.Framer = &thirdPartyResourceDataCodec{} +) + func NewCodec(codec runtime.Codec, kind string) runtime.Codec { return &thirdPartyResourceDataCodec{codec, kind} } @@ -410,6 +416,24 @@ func (t *thirdPartyResourceDataCodec) EncodeToStream(obj runtime.Object, stream } } +// NewFrameWriter calls into the nested encoder to expose its framing +func (c *thirdPartyResourceDataCodec) NewFrameWriter(w io.Writer) io.Writer { + f, ok := c.delegate.(streaming.Framer) + if !ok { + return nil + } + return f.NewFrameWriter(w) +} + +// NewFrameReader calls into the nested decoder to expose its framing +func (c *thirdPartyResourceDataCodec) NewFrameReader(r io.Reader) io.Reader { + f, ok := c.delegate.(streaming.Framer) + if !ok { + return nil + } + return f.NewFrameReader(r) +} + func NewObjectCreator(group, version string, delegate runtime.ObjectCreater) runtime.ObjectCreater { return &thirdPartyResourceDataCreator{group, version, delegate} }