mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-22 13:00:19 +00:00
07b05616a0
Bumps [k8s.io/kubernetes](https://github.com/kubernetes/kubernetes) from 1.26.2 to 1.27.2. - [Release notes](https://github.com/kubernetes/kubernetes/releases) - [Commits](https://github.com/kubernetes/kubernetes/compare/v1.26.2...v1.27.2) --- updated-dependencies: - dependency-name: k8s.io/kubernetes dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
44 lines
1.0 KiB
Go
44 lines
1.0 KiB
Go
// +build go1.8
|
|
|
|
package gziphandler
|
|
|
|
import "net/http"
|
|
|
|
// Push initiates an HTTP/2 server push.
|
|
// Push returns ErrNotSupported if the client has disabled push or if push
|
|
// is not supported on the underlying connection.
|
|
func (w *GzipResponseWriter) Push(target string, opts *http.PushOptions) error {
|
|
pusher, ok := w.ResponseWriter.(http.Pusher)
|
|
if ok && pusher != nil {
|
|
return pusher.Push(target, setAcceptEncodingForPushOptions(opts))
|
|
}
|
|
return http.ErrNotSupported
|
|
}
|
|
|
|
// setAcceptEncodingForPushOptions sets "Accept-Encoding" : "gzip" for PushOptions without overriding existing headers.
|
|
func setAcceptEncodingForPushOptions(opts *http.PushOptions) *http.PushOptions {
|
|
|
|
if opts == nil {
|
|
opts = &http.PushOptions{
|
|
Header: http.Header{
|
|
acceptEncoding: []string{"gzip"},
|
|
},
|
|
}
|
|
return opts
|
|
}
|
|
|
|
if opts.Header == nil {
|
|
opts.Header = http.Header{
|
|
acceptEncoding: []string{"gzip"},
|
|
}
|
|
return opts
|
|
}
|
|
|
|
if encoding := opts.Header.Get(acceptEncoding); encoding == "" {
|
|
opts.Header.Add(acceptEncoding, "gzip")
|
|
return opts
|
|
}
|
|
|
|
return opts
|
|
}
|