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:
Karl Seguin
2025-07-10 16:27:09 +08:00
parent fb58c50fb7
commit 3049bb0b9f

View File

@@ -240,6 +240,10 @@ pub const Client = struct {
const proxy_type = self.proxy_type orelse return false;
return proxy_type == .forward;
}
fn isProxy(self: *const Client) bool {
return self.proxy_type != null;
}
};
const RequestOpts = struct {
@@ -792,8 +796,12 @@ pub const Request = struct {
.conn = .{ .handler = async_handler, .protocol = .{ .plain = {} } },
};
if (self._client.isConnectProxy() and self._proxy_secure) log.warn(.http, "ASYNC TLS CONNECT no impl.", .{});
if (self._request_secure) {
if (self._client.isConnectProxy() and self._proxy_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 the connection came from the keepalive pool, than we already
// have a TLS Connection.