mirror of
https://github.com/kubernetes-sigs/prometheus-adapter.git
synced 2026-04-06 17:57:51 +00:00
Travis seems to be having issues pulling deps, so we'll have to check in the vendor directory and prevent the makefile from trying to regenerate it normally.
56 lines
1.3 KiB
Go
56 lines
1.3 KiB
Go
// Copyright 2015 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// +build go1.8
|
|
|
|
package http2
|
|
|
|
import (
|
|
"crypto/tls"
|
|
"io"
|
|
"net/http"
|
|
)
|
|
|
|
func cloneTLSConfig(c *tls.Config) *tls.Config {
|
|
c2 := c.Clone()
|
|
c2.GetClientCertificate = c.GetClientCertificate // golang.org/issue/19264
|
|
return c2
|
|
}
|
|
|
|
var _ http.Pusher = (*responseWriter)(nil)
|
|
|
|
// Push implements http.Pusher.
|
|
func (w *responseWriter) Push(target string, opts *http.PushOptions) error {
|
|
internalOpts := pushOptions{}
|
|
if opts != nil {
|
|
internalOpts.Method = opts.Method
|
|
internalOpts.Header = opts.Header
|
|
}
|
|
return w.push(target, internalOpts)
|
|
}
|
|
|
|
func configureServer18(h1 *http.Server, h2 *Server) error {
|
|
if h2.IdleTimeout == 0 {
|
|
if h1.IdleTimeout != 0 {
|
|
h2.IdleTimeout = h1.IdleTimeout
|
|
} else {
|
|
h2.IdleTimeout = h1.ReadTimeout
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func shouldLogPanic(panicValue interface{}) bool {
|
|
return panicValue != nil && panicValue != http.ErrAbortHandler
|
|
}
|
|
|
|
func reqGetBody(req *http.Request) func() (io.ReadCloser, error) {
|
|
return req.GetBody
|
|
}
|
|
|
|
func reqBodyIsNoBody(body io.ReadCloser) bool {
|
|
return body == http.NoBody
|
|
}
|
|
|
|
func go18httpNoBody() io.ReadCloser { return http.NoBody } // for tests only
|