123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- // Copyright 2016 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.7
- package http2
- import (
- "crypto/tls"
- "net"
- "net/http"
- "time"
- )
- type contextContext interface {
- Done() <-chan struct{}
- Err() error
- }
- type fakeContext struct{}
- func (fakeContext) Done() <-chan struct{} { return nil }
- func (fakeContext) Err() error { panic("should not be called") }
- func reqContext(r *http.Request) fakeContext {
- return fakeContext{}
- }
- func setResponseUncompressed(res *http.Response) {
- // Nothing.
- }
- type clientTrace struct{}
- func requestTrace(*http.Request) *clientTrace { return nil }
- func traceGotConn(*http.Request, *ClientConn) {}
- func traceFirstResponseByte(*clientTrace) {}
- func traceWroteHeaders(*clientTrace) {}
- func traceWroteRequest(*clientTrace, error) {}
- func traceGot100Continue(trace *clientTrace) {}
- func traceWait100Continue(trace *clientTrace) {}
- func nop() {}
- func serverConnBaseContext(c net.Conn, opts *ServeConnOpts) (ctx contextContext, cancel func()) {
- return nil, nop
- }
- func contextWithCancel(ctx contextContext) (_ contextContext, cancel func()) {
- return ctx, nop
- }
- func requestWithContext(req *http.Request, ctx contextContext) *http.Request {
- return req
- }
- // temporary copy of Go 1.6's private tls.Config.clone:
- func cloneTLSConfig(c *tls.Config) *tls.Config {
- return &tls.Config{
- Rand: c.Rand,
- Time: c.Time,
- Certificates: c.Certificates,
- NameToCertificate: c.NameToCertificate,
- GetCertificate: c.GetCertificate,
- RootCAs: c.RootCAs,
- NextProtos: c.NextProtos,
- ServerName: c.ServerName,
- ClientAuth: c.ClientAuth,
- ClientCAs: c.ClientCAs,
- InsecureSkipVerify: c.InsecureSkipVerify,
- CipherSuites: c.CipherSuites,
- PreferServerCipherSuites: c.PreferServerCipherSuites,
- SessionTicketsDisabled: c.SessionTicketsDisabled,
- SessionTicketKey: c.SessionTicketKey,
- ClientSessionCache: c.ClientSessionCache,
- MinVersion: c.MinVersion,
- MaxVersion: c.MaxVersion,
- CurvePreferences: c.CurvePreferences,
- }
- }
- func (cc *ClientConn) Ping(ctx contextContext) error {
- return cc.ping(ctx)
- }
- func (t *Transport) idleConnTimeout() time.Duration { return 0 }
|