code: func NewProxyHttpServer() *ProxyHttpServer {
  	proxy := ProxyHttpServer{
  		Logger:        log.New(os.Stderr, "", log.LstdFlags),
  		reqHandlers:   []ReqHandler{},
  		respHandlers:  []RespHandler{},
  		httpsHandlers: []HttpsHandler{},
  		NonproxyHandler: http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
  			http.Error(w, "This is a proxy server. Does not respond to non-proxy requests.", 500)
  		}),
  		Tr: &http.Transport{TLSClientConfig: tlsClientSkipVerify, Proxy: http.ProxyFromEnvironment},
  	}
  	proxy.ConnectDial = dialerFromEnv(&proxy)
  
  	return &proxy
  }
docs: // NewProxyHttpServer creates and returns a proxy server, logging to stderr by default