vendor/github.com/gorilla/websocket/proxy.go
changeset 251 1c52a0eeb952
parent 242 2a9ec03fe5a1
child 260 445e01aede7e
equal deleted inserted replaced
250:c040f992052f 251:1c52a0eeb952
    20 	return fn(network, addr)
    20 	return fn(network, addr)
    21 }
    21 }
    22 
    22 
    23 func init() {
    23 func init() {
    24 	proxy_RegisterDialerType("http", func(proxyURL *url.URL, forwardDialer proxy_Dialer) (proxy_Dialer, error) {
    24 	proxy_RegisterDialerType("http", func(proxyURL *url.URL, forwardDialer proxy_Dialer) (proxy_Dialer, error) {
    25 		return &httpProxyDialer{proxyURL: proxyURL, fowardDial: forwardDialer.Dial}, nil
    25 		return &httpProxyDialer{proxyURL: proxyURL, forwardDial: forwardDialer.Dial}, nil
    26 	})
    26 	})
    27 }
    27 }
    28 
    28 
    29 type httpProxyDialer struct {
    29 type httpProxyDialer struct {
    30 	proxyURL   *url.URL
    30 	proxyURL    *url.URL
    31 	fowardDial func(network, addr string) (net.Conn, error)
    31 	forwardDial func(network, addr string) (net.Conn, error)
    32 }
    32 }
    33 
    33 
    34 func (hpd *httpProxyDialer) Dial(network string, addr string) (net.Conn, error) {
    34 func (hpd *httpProxyDialer) Dial(network string, addr string) (net.Conn, error) {
    35 	hostPort, _ := hostPortNoPort(hpd.proxyURL)
    35 	hostPort, _ := hostPortNoPort(hpd.proxyURL)
    36 	conn, err := hpd.fowardDial(network, hostPort)
    36 	conn, err := hpd.forwardDial(network, hostPort)
    37 	if err != nil {
    37 	if err != nil {
    38 		return nil, err
    38 		return nil, err
    39 	}
    39 	}
    40 
    40 
    41 	connectHeader := make(http.Header)
    41 	connectHeader := make(http.Header)