mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-29 23:23:28 +00:00
Fix async https requests over a http forward proxy
XHR requests to https (which is most XHR requests) currently don't work with the implementation proxy because of this.
This commit is contained in:
@@ -240,6 +240,10 @@ pub const Client = struct {
|
|||||||
const proxy_type = self.proxy_type orelse return false;
|
const proxy_type = self.proxy_type orelse return false;
|
||||||
return proxy_type == .forward;
|
return proxy_type == .forward;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn isProxy(self: *const Client) bool {
|
||||||
|
return self.proxy_type != null;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const RequestOpts = struct {
|
const RequestOpts = struct {
|
||||||
@@ -792,8 +796,12 @@ pub const Request = struct {
|
|||||||
.conn = .{ .handler = async_handler, .protocol = .{ .plain = {} } },
|
.conn = .{ .handler = async_handler, .protocol = .{ .plain = {} } },
|
||||||
};
|
};
|
||||||
|
|
||||||
if (self._client.isConnectProxy() and self._proxy_secure) log.warn(.http, "ASYNC TLS CONNECT no impl.", .{});
|
if (self._client.isConnectProxy() and self._proxy_secure) {
|
||||||
if (self._request_secure) {
|
log.warn(.http, "not implemented", .{ .feature = "async tls connect" });
|
||||||
|
}
|
||||||
|
|
||||||
|
const is_proxy = self._client.isProxy();
|
||||||
|
if ((is_proxy and self._proxy_secure) or (!is_proxy and self._request_secure)) {
|
||||||
if (self._connection_from_keepalive) {
|
if (self._connection_from_keepalive) {
|
||||||
// If the connection came from the keepalive pool, than we already
|
// If the connection came from the keepalive pool, than we already
|
||||||
// have a TLS Connection.
|
// have a TLS Connection.
|
||||||
|
|||||||
Reference in New Issue
Block a user