mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-05 02:09:56 +00:00
Collapse the protobuf extension file into codec factory
The separation is now unneeded.
This commit is contained in:
parent
3cbb20c694
commit
c1d2735178
@ -32,7 +32,6 @@ go_library(
|
|||||||
srcs = [
|
srcs = [
|
||||||
"codec_factory.go",
|
"codec_factory.go",
|
||||||
"negotiated_codec.go",
|
"negotiated_codec.go",
|
||||||
"protobuf_extension.go",
|
|
||||||
],
|
],
|
||||||
importmap = "k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/runtime/serializer",
|
importmap = "k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/runtime/serializer",
|
||||||
importpath = "k8s.io/apimachinery/pkg/runtime/serializer",
|
importpath = "k8s.io/apimachinery/pkg/runtime/serializer",
|
||||||
|
@ -23,6 +23,7 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/runtime/serializer/json"
|
"k8s.io/apimachinery/pkg/runtime/serializer/json"
|
||||||
|
"k8s.io/apimachinery/pkg/runtime/serializer/protobuf"
|
||||||
"k8s.io/apimachinery/pkg/runtime/serializer/recognizer"
|
"k8s.io/apimachinery/pkg/runtime/serializer/recognizer"
|
||||||
"k8s.io/apimachinery/pkg/runtime/serializer/versioning"
|
"k8s.io/apimachinery/pkg/runtime/serializer/versioning"
|
||||||
)
|
)
|
||||||
@ -51,6 +52,8 @@ func newSerializersForScheme(scheme *runtime.Scheme, mf json.MetaFactory) []seri
|
|||||||
jsonSerializer := json.NewSerializer(mf, scheme, scheme, false)
|
jsonSerializer := json.NewSerializer(mf, scheme, scheme, false)
|
||||||
jsonPrettySerializer := json.NewSerializer(mf, scheme, scheme, true)
|
jsonPrettySerializer := json.NewSerializer(mf, scheme, scheme, true)
|
||||||
yamlSerializer := json.NewYAMLSerializer(mf, scheme, scheme)
|
yamlSerializer := json.NewYAMLSerializer(mf, scheme, scheme)
|
||||||
|
serializer := protobuf.NewSerializer(scheme, scheme, runtime.ContentTypeProtobuf)
|
||||||
|
raw := protobuf.NewRawSerializer(scheme, scheme, runtime.ContentTypeProtobuf)
|
||||||
|
|
||||||
serializers := []serializerType{
|
serializers := []serializerType{
|
||||||
{
|
{
|
||||||
@ -71,6 +74,15 @@ func newSerializersForScheme(scheme *runtime.Scheme, mf json.MetaFactory) []seri
|
|||||||
EncodesAsText: true,
|
EncodesAsText: true,
|
||||||
Serializer: yamlSerializer,
|
Serializer: yamlSerializer,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
AcceptContentTypes: []string{runtime.ContentTypeProtobuf},
|
||||||
|
ContentType: runtime.ContentTypeProtobuf,
|
||||||
|
FileExtensions: []string{"pb"},
|
||||||
|
Serializer: serializer,
|
||||||
|
|
||||||
|
Framer: protobuf.LengthDelimitedFramer,
|
||||||
|
StreamSerializer: raw,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, fn := range serializerExtensions {
|
for _, fn := range serializerExtensions {
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2014 The Kubernetes Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package serializer
|
|
||||||
|
|
||||||
import (
|
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
|
||||||
"k8s.io/apimachinery/pkg/runtime/serializer/protobuf"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
// contentTypeProtobuf is the protobuf type exposed for Kubernetes. It is private to prevent others from
|
|
||||||
// depending on it unintentionally.
|
|
||||||
// TODO: potentially move to pkg/api (since it's part of the Kube public API) and pass it in to the
|
|
||||||
// CodecFactory on initialization.
|
|
||||||
contentTypeProtobuf = "application/vnd.kubernetes.protobuf"
|
|
||||||
)
|
|
||||||
|
|
||||||
func protobufSerializer(scheme *runtime.Scheme) (serializerType, bool) {
|
|
||||||
serializer := protobuf.NewSerializer(scheme, scheme, contentTypeProtobuf)
|
|
||||||
raw := protobuf.NewRawSerializer(scheme, scheme, contentTypeProtobuf)
|
|
||||||
return serializerType{
|
|
||||||
AcceptContentTypes: []string{contentTypeProtobuf},
|
|
||||||
ContentType: contentTypeProtobuf,
|
|
||||||
FileExtensions: []string{"pb"},
|
|
||||||
Serializer: serializer,
|
|
||||||
|
|
||||||
Framer: protobuf.LengthDelimitedFramer,
|
|
||||||
StreamSerializer: raw,
|
|
||||||
}, true
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
serializerExtensions = append(serializerExtensions, protobufSerializer)
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user