Documentation ¶
Index ¶
Constants ¶
View Source
const ( BasicAuthName = "Basic" ProxyAuthorizationKey = "Proxy-Authorization" ProxyAuthenticateKey = "Proxy-Authenticate" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Authentication ¶
type Authentication interface {
Auth(http.ResponseWriter, *http.Request) bool
}
Authentication proxy authentication
func BasicAuth ¶
func BasicAuth(username, password string) Authentication
BasicAuth HTTP Basic authentication for Header Proxy-Authorization
func BasicAuthFunc ¶
func BasicAuthFunc(f func(username, password string) bool) Authentication
BasicAuthFunc HTTP Basic authentication for Header Proxy-Authorization
type AuthenticationFunc ¶
type AuthenticationFunc func(http.ResponseWriter, *http.Request) bool
AuthenticationFunc Authentication interface is implemented
func (AuthenticationFunc) Auth ¶
func (f AuthenticationFunc) Auth(w http.ResponseWriter, r *http.Request) bool
Auth authentication processing
type BytesPool ¶ added in v0.3.2
BytesPool is an interface for getting and returning temporary bytes for use by io.CopyBuffer.
type Dialer ¶
type Dialer struct { // ProxyDial specifies the optional dial function for // establishing the transport connection. ProxyDial func(context.Context, string, string) (net.Conn, error) // TLSClientConfig specifies the TLS configuration to use with // tls.Client. // If nil, the TLS is not used. // If non-nil, HTTP/2 support may not be enabled by default. TLSClientConfig *tls.Config // ProxyHeader optionally specifies headers to send to // proxies during CONNECT requests. ProxyHeader http.Header // Proxy proxy server address Proxy string // Userinfo use userinfo authentication if not empty Userinfo *url.Userinfo // Timeout is the maximum amount of time a dial will wait for // a connect to complete. The default is no timeout Timeout time.Duration }
Dialer holds HTTP CONNECT options.
type ProxyHandler ¶
type ProxyHandler struct { // Client is used without the connect method Client *http.Client // ProxyDial specifies the optional proxyDial function for // establishing the transport connection. ProxyDial func(context.Context, string, string) (net.Conn, error) // Authentication is proxy authentication Authentication Authentication // NotFound Not proxy requests NotFound http.Handler // Logger error log Logger Logger // BytesPool getting and returning temporary bytes for use by io.CopyBuffer BytesPool BytesPool }
ProxyHandler proxy handler
func (*ProxyHandler) ServeHTTP ¶
func (p *ProxyHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
type SimpleServer ¶ added in v0.3.3
type SimpleServer struct { ProxyHandler Server http.Server Listener net.Listener Network string Address string Username string Password string }
SimpleServer is a simplified server, which can be configured as easily as client.
func NewSimpleServer ¶ added in v0.3.3
func NewSimpleServer(addr string) (*SimpleServer, error)
NewServer creates a new NewSimpleServer
func (*SimpleServer) Close ¶ added in v0.3.3
func (s *SimpleServer) Close() error
Close closes the listener
func (*SimpleServer) ProxyURL ¶ added in v0.3.3
func (s *SimpleServer) ProxyURL() string
ProxyURL returns the URL of the proxy
Click to show internal directories.
Click to hide internal directories.