mirror of
https://github.com/kubernetes/client-go.git
synced 2025-09-16 15:18:24 +00:00
Use protobuf for core clients
Signed-off-by: Monis Khan <mok@microsoft.com> Kubernetes-commit: c2ae465355b5222dbc27b8de8c55095b4f1b431a
This commit is contained in:
committed by
Kubernetes Publisher
parent
1647efd5c4
commit
6f44458e5e
@@ -176,12 +176,7 @@ func NewRequest(c *RESTClient) *Request {
|
||||
contentTypeNotSet: contentTypeNotSet,
|
||||
}
|
||||
|
||||
switch {
|
||||
case len(c.content.AcceptContentTypes) > 0:
|
||||
r.SetHeader("Accept", c.content.AcceptContentTypes)
|
||||
case len(c.content.ContentType) > 0:
|
||||
r.SetHeader("Accept", c.content.ContentType+", */*")
|
||||
}
|
||||
r.setAcceptHeader()
|
||||
return r
|
||||
}
|
||||
|
||||
@@ -195,6 +190,31 @@ func NewRequestWithClient(base *url.URL, versionedAPIPath string, content Client
|
||||
})
|
||||
}
|
||||
|
||||
func (r *Request) UseProtobufAsDefaultIfPreferred(prefersProtobuf bool) *Request {
|
||||
if prefersProtobuf {
|
||||
return r.UseProtobufAsDefault()
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func (r *Request) UseProtobufAsDefault() *Request {
|
||||
if r.contentTypeNotSet && len(r.contentConfig.AcceptContentTypes) == 0 {
|
||||
r.contentConfig.AcceptContentTypes = "application/vnd.kubernetes.protobuf,application/json"
|
||||
r.contentConfig.ContentType = "application/vnd.kubernetes.protobuf"
|
||||
r.setAcceptHeader()
|
||||
}
|
||||
return r
|
||||
}
|
||||
|
||||
func (r *Request) setAcceptHeader() {
|
||||
switch {
|
||||
case len(r.contentConfig.AcceptContentTypes) > 0:
|
||||
r.SetHeader("Accept", r.contentConfig.AcceptContentTypes)
|
||||
case len(r.contentConfig.ContentType) > 0:
|
||||
r.SetHeader("Accept", r.contentConfig.ContentType+", */*")
|
||||
}
|
||||
}
|
||||
|
||||
// Verb sets the verb this request will use.
|
||||
func (r *Request) Verb(verb string) *Request {
|
||||
r.verb = verb
|
||||
|
Reference in New Issue
Block a user