Documentation ¶
Index ¶
- Constants
- Variables
- func Configure(options ...Option) http.Handler
- type ClientConnector
- type DefaultClientConnector
- type DefaultDialer
- type DefaultFilter
- type DefaultHandler
- type DefaultInitializer
- type DefaultMeter
- type DefaultProxy
- type DefaultServerConnector
- type Dialer
- type Filter
- type HostnameFilter
- type HostnameSuffixFilter
- type Initializer
- type LoggingInitializer
- type Meter
- type Option
- type Proxy
- type ProxyProtocolInitializer
- type ServerConnector
- type Socket
- type TCPSocket
- type Wireup
Constants ¶
View Source
const ( MeasurementHTTPRequest int = iota MeasurementBadMethod MeasurementClientConnectionFailed MeasurementServerConnectionFailed MeasurementProxyReady MeasurementProxyComplete )
Variables ¶
View Source
var ( StatusBadGateway = []byte("HTTP/1.1 502 Bad Gateway\r\n\r\n") StatusReady = []byte("HTTP/1.1 200 OK\r\n\r\n") )
Functions ¶
Types ¶
type ClientConnector ¶
type ClientConnector interface {
Connect(w http.ResponseWriter) Socket
}
type DefaultClientConnector ¶
type DefaultClientConnector struct { }
func NewClientConnector ¶
func NewClientConnector() *DefaultClientConnector
func (*DefaultClientConnector) Connect ¶
func (it *DefaultClientConnector) Connect(response http.ResponseWriter) Socket
type DefaultDialer ¶
type DefaultDialer struct {
// contains filtered or unexported fields
}
func NewDialer ¶
func NewDialer() *DefaultDialer
func NewDialerWithTimeout ¶
func NewDialerWithTimeout(timeout time.Duration) *DefaultDialer
func (*DefaultDialer) Dial ¶
func (it *DefaultDialer) Dial(address string) Socket
func (*DefaultDialer) WithLogging ¶
func (it *DefaultDialer) WithLogging() *DefaultDialer
type DefaultFilter ¶
type DefaultFilter struct{}
func NewFilter ¶
func NewFilter() *DefaultFilter
func (*DefaultFilter) IsAuthorized ¶
func (it *DefaultFilter) IsAuthorized(request *http.Request) bool
type DefaultHandler ¶
type DefaultHandler struct {
// contains filtered or unexported fields
}
func NewHandler ¶
func NewHandler(filter Filter, clientConnector ClientConnector, serverConnector ServerConnector, meter Meter) *DefaultHandler
func (*DefaultHandler) ServeHTTP ¶
func (it *DefaultHandler) ServeHTTP(response http.ResponseWriter, request *http.Request)
type DefaultInitializer ¶
type DefaultInitializer struct { }
func NewInitializer ¶
func NewInitializer() *DefaultInitializer
func (*DefaultInitializer) Initialize ¶
func (it *DefaultInitializer) Initialize(_, _ Socket) bool
type DefaultMeter ¶
type DefaultMeter struct { }
func NewMeter ¶
func NewMeter() *DefaultMeter
func (*DefaultMeter) Measure ¶
func (it *DefaultMeter) Measure(int)
type DefaultProxy ¶
type DefaultProxy struct {
// contains filtered or unexported fields
}
func NewProxy ¶
func NewProxy(client, server Socket) *DefaultProxy
func (*DefaultProxy) Proxy ¶
func (it *DefaultProxy) Proxy()
type DefaultServerConnector ¶
type DefaultServerConnector struct {
// contains filtered or unexported fields
}
func NewServerConnector ¶
func NewServerConnector(dialer Dialer, initializer Initializer) *DefaultServerConnector
type HostnameFilter ¶
type HostnameFilter struct {
// contains filtered or unexported fields
}
func NewHostnameFilter ¶
func NewHostnameFilter(authorized []string) *HostnameFilter
func (HostnameFilter) IsAuthorized ¶
func (it HostnameFilter) IsAuthorized(request *http.Request) bool
type HostnameSuffixFilter ¶
type HostnameSuffixFilter struct {
// contains filtered or unexported fields
}
func NewHostnameSuffixFilter ¶
func NewHostnameSuffixFilter(authorized []string) *HostnameSuffixFilter
func (HostnameSuffixFilter) IsAuthorized ¶
func (it HostnameSuffixFilter) IsAuthorized(request *http.Request) bool
type Initializer ¶
type LoggingInitializer ¶
type LoggingInitializer struct {
// contains filtered or unexported fields
}
func NewLoggingInitializer ¶
func NewLoggingInitializer(inner Initializer) *LoggingInitializer
func (*LoggingInitializer) Initialize ¶
func (it *LoggingInitializer) Initialize(client, server Socket) bool
type Option ¶
type Option func(*Wireup)
func WithClientConnector ¶
func WithClientConnector(value ClientConnector) Option
func WithDialer ¶
func WithFilter ¶
func WithInitializer ¶
func WithInitializer(value Initializer) Option
func WithServerConnector ¶
func WithServerConnector(value ServerConnector) Option
type ProxyProtocolInitializer ¶
type ProxyProtocolInitializer struct { }
func NewProxyProtocolInitializer ¶
func NewProxyProtocolInitializer() *ProxyProtocolInitializer
func (*ProxyProtocolInitializer) Initialize ¶
func (it *ProxyProtocolInitializer) Initialize(client, server Socket) bool
type ServerConnector ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.