code: func (pcond *ReqProxyConds) HandleConnect(h HttpsHandler) {
  	pcond.proxy.httpsHandlers = append(pcond.proxy.httpsHandlers,
  		FuncHttpsHandler(func(host string, ctx *ProxyCtx) (*ConnectAction, string) {
  			for _, cond := range pcond.reqConds {
  				if !cond.HandleReq(ctx.Req, ctx) {
  					return nil, ""
  				}
  			}
  			return h.HandleConnect(host, ctx)
  		}))
  }
docs: // HandleConnect is used when proxy receives an HTTP CONNECT request,
  // it'll then use the HttpsHandler to determine what should it
  // do with this request. The handler returns a ConnectAction struct, the Action field in the ConnectAction
  // struct returned will determine what to do with this request. ConnectAccept will simply accept the request
  // forwarding all bytes from the client to the remote host, ConnectReject will close the connection with the
  // client, and ConnectMitm, will assume the underlying connection is an HTTPS connection, and will use Man
  // in the Middle attack to eavesdrop the connection. All regular handler will be active on this eavesdropped
  // connection.
  // The ConnectAction struct contains possible tlsConfig that will be used for eavesdropping. If nil, the proxy
  // will use the default tls configuration.
  //	proxy.OnRequest().HandleConnect(goproxy.AlwaysReject) // rejects all CONNECT requests