40 client_transcript_.clear();
43 case curl::fuzzer::proto::HTTP_TRANSPORT_FORWARD_PROXY:
44 case curl::fuzzer::proto::HTTP_TRANSPORT_CONNECT_PROXY:
48 (void)curl_easy_setopt(easy, CURLOPT_CONNECT_TO,
nullptr);
49 (void)curl_easy_setopt(easy, CURLOPT_PROXY, kProxyUrl);
50 (void)curl_easy_setopt(easy, CURLOPT_PROXYTYPE,
static_cast<long>(CURLPROXY_HTTP));
51 (void)curl_easy_setopt(easy, CURLOPT_NOPROXY,
"");
52 (void)curl_easy_setopt(easy, CURLOPT_HTTPPROXYTUNNEL,
53 mode_ == curl::fuzzer::proto::HTTP_TRANSPORT_CONNECT_PROXY ? 1L : 0L);
57 (void)curl_easy_setopt(easy, CURLOPT_HEADEROPT, haproxy_protocol_ ? CURLHEADER_UNIFIED : CURLHEADER_SEPARATE);
58 (void)curl_easy_setopt(easy, CURLOPT_HAPROXY_CLIENT_IP, haproxy_protocol_ ? kHaproxyClientIp :
nullptr);
59 (void)curl_easy_setopt(easy, CURLOPT_HAPROXYPROTOCOL, haproxy_protocol_ ? 1L : 0L);
62 case curl::fuzzer::proto::HTTP_TRANSPORT_UNIX_SOCKET:
66 (void)curl_easy_setopt(easy, CURLOPT_CONNECT_TO,
nullptr);
67 (void)curl_easy_setopt(easy, CURLOPT_ABSTRACT_UNIX_SOCKET, kAbstractUnixSocket);
70 case curl::fuzzer::proto::HTTP_TRANSPORT_DIRECT:
96 if (data ==
nullptr || size == 0 || client_transcript_.size() >= kMaxTranscriptBytes) {
99 const std::size_t remaining = kMaxTranscriptBytes - client_transcript_.size();
100 client_transcript_.append(
reinterpret_cast<const char*
>(data), std::min(size, remaining));