| // 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. | |
| //go:build nethttpomithttp2 | |
| // +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() {} | |
| type http2noDialH2RoundTripper struct{} | |
| func (http2noDialH2RoundTripper) RoundTrip(*Request) (*Response, error) { panic(noHTTP2) } | |
| type http2noDialClientConnPool struct { | |
| http2clientConnPool http2clientConnPool | |
| } | |
| type http2clientConnPool struct { | |
| mu *sync.Mutex | |
| conns map[string][]struct{} | |
| } | |
| func http2configureTransports(*Transport) (*http2Transport, error) { panic(noHTTP2) } | |
| 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" } |