diff options
author | Jacob Vosmaer (GitLab) <jacob@gitlab.com> | 2018-04-05 19:00:40 +0300 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2018-04-05 19:00:40 +0300 |
commit | 1d3b8f857c7ca4ff053a03c4a84e492cf33f1861 (patch) | |
tree | 37b539a41df9ad9a7821d1a3c148a73ed7b1efb6 /vendor/golang.org/x/net/http2/go18.go | |
parent | 54058312eef037d76d9ae9217cec12cd67cf9f92 (diff) |
Vendor gRPC and gitlab-pages-proto
Diffstat (limited to 'vendor/golang.org/x/net/http2/go18.go')
-rw-r--r-- | vendor/golang.org/x/net/http2/go18.go | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/vendor/golang.org/x/net/http2/go18.go b/vendor/golang.org/x/net/http2/go18.go new file mode 100644 index 00000000..4f30d228 --- /dev/null +++ b/vendor/golang.org/x/net/http2/go18.go @@ -0,0 +1,56 @@ +// 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 |