#include "net/quic/quic_proxy_client_socket.h"
#include <cstdio>
#include <string_view>
#include <utility>
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/values.h"
#include "net/base/proxy_chain.h"
#include "net/base/proxy_delegate.h"
#include "net/http/http_auth_controller.h"
#include "net/http/http_log_util.h"
#include "net/http/http_response_headers.h"
#include "net/log/net_log_source.h"
#include "net/log/net_log_source_type.h"
#include "net/quic/quic_http_utils.h"
#include "net/spdy/spdy_http_utils.h"
#include "net/traffic_annotation/network_traffic_annotation.h"
namespace net {
QuicProxyClientSocket::QuicProxyClientSocket(
std::unique_ptr<QuicChromiumClientStream::Handle> stream,
std::unique_ptr<QuicChromiumClientSession::Handle> session,
const ProxyChain& proxy_chain,
size_t proxy_chain_index,
const std::string& user_agent,
const HostPortPair& endpoint,
const NetLogWithSource& net_log,
scoped_refptr<HttpAuthController> auth_controller,
ProxyDelegate* proxy_delegate)
: … { … }
QuicProxyClientSocket::~QuicProxyClientSocket() { … }
const HttpResponseInfo* QuicProxyClientSocket::GetConnectResponseInfo() const { … }
const scoped_refptr<HttpAuthController>&
QuicProxyClientSocket::GetAuthController() const { … }
int QuicProxyClientSocket::RestartWithAuth(CompletionOnceCallback callback) { … }
void QuicProxyClientSocket::SetStreamPriority(RequestPriority priority) { … }
int QuicProxyClientSocket::Connect(CompletionOnceCallback callback) { … }
void QuicProxyClientSocket::Disconnect() { … }
bool QuicProxyClientSocket::IsConnected() const { … }
bool QuicProxyClientSocket::IsConnectedAndIdle() const { … }
const NetLogWithSource& QuicProxyClientSocket::NetLog() const { … }
bool QuicProxyClientSocket::WasEverUsed() const { … }
NextProto QuicProxyClientSocket::GetNegotiatedProtocol() const { … }
bool QuicProxyClientSocket::GetSSLInfo(SSLInfo* ssl_info) { … }
int64_t QuicProxyClientSocket::GetTotalReceivedBytes() const { … }
void QuicProxyClientSocket::ApplySocketTag(const SocketTag& tag) { … }
int QuicProxyClientSocket::Read(IOBuffer* buf,
int buf_len,
CompletionOnceCallback callback) { … }
void QuicProxyClientSocket::OnReadComplete(int rv) { … }
int QuicProxyClientSocket::Write(
IOBuffer* buf,
int buf_len,
CompletionOnceCallback callback,
const NetworkTrafficAnnotationTag& traffic_annotation) { … }
void QuicProxyClientSocket::OnWriteComplete(int rv) { … }
int QuicProxyClientSocket::SetReceiveBufferSize(int32_t size) { … }
int QuicProxyClientSocket::SetSendBufferSize(int32_t size) { … }
int QuicProxyClientSocket::GetPeerAddress(IPEndPoint* address) const { … }
int QuicProxyClientSocket::GetLocalAddress(IPEndPoint* address) const { … }
void QuicProxyClientSocket::OnIOComplete(int result) { … }
int QuicProxyClientSocket::DoLoop(int last_io_result) { … }
int QuicProxyClientSocket::DoGenerateAuthToken() { … }
int QuicProxyClientSocket::DoGenerateAuthTokenComplete(int result) { … }
int QuicProxyClientSocket::DoSendRequest() { … }
int QuicProxyClientSocket::DoSendRequestComplete(int result) { … }
int QuicProxyClientSocket::DoReadReply() { … }
int QuicProxyClientSocket::DoReadReplyComplete(int result) { … }
void QuicProxyClientSocket::OnReadResponseHeadersComplete(int result) { … }
int QuicProxyClientSocket::ProcessResponseHeaders(
const quiche::HttpHeaderBlock& headers) { … }
}