mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-21 21:06:12 +03:00
net: Allow http proxies in proxy chains
This commit is contained in:
parent
a684355d80
commit
e8acdbab9d
@ -192,7 +192,7 @@ bool ProxyChain::IsValidInternal() const {
|
||||
return false;
|
||||
}
|
||||
seen_quic = true;
|
||||
} else if (proxy_server.is_https()) {
|
||||
} else if (proxy_server.is_https() || proxy_server.is_http()) {
|
||||
seen_https = true;
|
||||
} else {
|
||||
return false;
|
||||
|
@ -488,9 +488,17 @@ int HttpProxyConnectJob::DoBeginConnect() {
|
||||
int HttpProxyConnectJob::DoTransportConnect() {
|
||||
ProxyServer::Scheme scheme = GetProxyServerScheme();
|
||||
if (scheme == ProxyServer::SCHEME_HTTP) {
|
||||
nested_connect_job_ = std::make_unique<TransportConnectJob>(
|
||||
priority(), socket_tag(), common_connect_job_params(),
|
||||
params_->transport_params(), this, &net_log());
|
||||
if (params_->is_over_transport()) {
|
||||
nested_connect_job_ = std::make_unique<TransportConnectJob>(
|
||||
priority(), socket_tag(), common_connect_job_params(),
|
||||
params_->transport_params(), this, &net_log());
|
||||
} else if (params_->is_over_http()) {
|
||||
nested_connect_job_ = std::make_unique<HttpProxyConnectJob>(
|
||||
priority(), socket_tag(), common_connect_job_params(),
|
||||
params_->http_params(), this, &net_log());
|
||||
} else {
|
||||
CHECK(false) << "Invalid nested connect job";
|
||||
}
|
||||
} else {
|
||||
DCHECK_EQ(scheme, ProxyServer::SCHEME_HTTPS);
|
||||
DCHECK(params_->is_over_ssl());
|
||||
|
@ -100,6 +100,13 @@ class NET_EXPORT_PRIVATE HttpProxySocketParams
|
||||
return quic_ssl_config_;
|
||||
}
|
||||
|
||||
bool is_over_http() const {
|
||||
return nested_params_ && nested_params_->is_http_proxy();
|
||||
}
|
||||
const scoped_refptr<HttpProxySocketParams>& http_params() const {
|
||||
return nested_params_->http_proxy();
|
||||
}
|
||||
|
||||
const HostPortPair& endpoint() const { return endpoint_; }
|
||||
const ProxyChain& proxy_chain() const { return proxy_chain_; }
|
||||
const ProxyServer& proxy_server() const {
|
||||
|
Loading…
Reference in New Issue
Block a user