1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- // 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 { return c.Clone() }
- 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
- }
|