2020-01-03 00:05:27 +01:00
|
|
|
// Copyright 2019 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 nethttpomithttp2
|
|
|
|
|
|
|
|
package http
|
|
|
|
|
|
|
|
import (
|
|
|
|
"errors"
|
|
|
|
"sync"
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
omitBundledHTTP2 = true
|
|
|
|
}
|
|
|
|
|
|
|
|
const noHTTP2 = "no bundled HTTP/2" // should never see this
|
|
|
|
|
|
|
|
var http2errRequestCanceled = errors.New("net/http: request canceled")
|
|
|
|
|
|
|
|
var http2goAwayTimeout = 1 * time.Second
|
|
|
|
|
|
|
|
const http2NextProtoTLS = "h2"
|
|
|
|
|
|
|
|
type http2Transport struct {
|
|
|
|
MaxHeaderListSize uint32
|
|
|
|
ConnPool interface{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*http2Transport) RoundTrip(*Request) (*Response, error) { panic(noHTTP2) }
|
|
|
|
func (*http2Transport) CloseIdleConnections() {}
|
|
|
|
|
2020-02-05 23:33:27 +01:00
|
|
|
type http2noDialH2RoundTripper struct{}
|
|
|
|
|
|
|
|
func (http2noDialH2RoundTripper) RoundTrip(*Request) (*Response, error) { panic(noHTTP2) }
|
|
|
|
|
2020-01-03 00:05:27 +01:00
|
|
|
type http2noDialClientConnPool struct {
|
|
|
|
http2clientConnPool http2clientConnPool
|
|
|
|
}
|
|
|
|
|
|
|
|
type http2clientConnPool struct {
|
|
|
|
mu *sync.Mutex
|
|
|
|
conns map[string][]struct{}
|
|
|
|
}
|
|
|
|
|
2020-12-23 18:57:37 +01:00
|
|
|
func http2configureTransports(*Transport) (*http2Transport, error) { panic(noHTTP2) }
|
2020-01-03 00:05:27 +01:00
|
|
|
|
|
|
|
func http2isNoCachedConnError(err error) bool {
|
|
|
|
_, ok := err.(interface{ IsHTTP2NoCachedConnError() })
|
|
|
|
return ok
|
|
|
|
}
|
|
|
|
|
|
|
|
type http2Server struct {
|
|
|
|
NewWriteScheduler func() http2WriteScheduler
|
|
|
|
}
|
|
|
|
|
|
|
|
type http2WriteScheduler interface{}
|
|
|
|
|
|
|
|
func http2NewPriorityWriteScheduler(interface{}) http2WriteScheduler { panic(noHTTP2) }
|
|
|
|
|
|
|
|
func http2ConfigureServer(s *Server, conf *http2Server) error { panic(noHTTP2) }
|
|
|
|
|
|
|
|
var http2ErrNoCachedConn = http2noCachedConnError{}
|
|
|
|
|
|
|
|
type http2noCachedConnError struct{}
|
|
|
|
|
|
|
|
func (http2noCachedConnError) IsHTTP2NoCachedConnError() {}
|
|
|
|
|
|
|
|
func (http2noCachedConnError) Error() string { return "http2: no cached connection was available" }
|