blob: ca08ddfad83a995ea11607f7c3872b0077dba743 [file] [log] [blame]
// 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
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 any
}
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][]*http2clientConn
}
type http2clientConn struct{}
type http2clientConnIdleState struct {
canTakeNewRequest bool
}
func (cc *http2clientConn) idleState() http2clientConnIdleState { return http2clientConnIdleState{} }
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 any
func http2NewPriorityWriteScheduler(any) 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" }