| ... | @@ -805,7 +805,7 @@ pub const Request = struct { | ... | @@ -805,7 +805,7 @@ pub const Request = struct { |
| 805 | } | 805 | } |
| 806 | | 806 | |
| 807 | req.uri = valid_uri; | 807 | req.uri = valid_uri; |
| 808 | req.connection = try req.client.connect(new_host, valid_uri.port.?, protocol); | 808 | req.connection = try req.client.connect(new_host, uriPort(valid_uri, protocol), protocol); |
| 809 | req.redirect_behavior.subtractOne(); | 809 | req.redirect_behavior.subtractOne(); |
| 810 | req.response.parser.reset(); | 810 | req.response.parser.reset(); |
| 811 | | 811 | |
| ... | @@ -1264,7 +1264,7 @@ fn createProxyFromEnvVar(arena: Allocator, env_var_names: []const []const u8) !? | ... | @@ -1264,7 +1264,7 @@ fn createProxyFromEnvVar(arena: Allocator, env_var_names: []const []const u8) !? |
| 1264 | .protocol = protocol, | 1264 | .protocol = protocol, |
| 1265 | .host = valid_uri.host.?.raw, | 1265 | .host = valid_uri.host.?.raw, |
| 1266 | .authorization = authorization, | 1266 | .authorization = authorization, |
| 1267 | .port = valid_uri.port.?, | 1267 | .port = uriPort(valid_uri, protocol), |
| 1268 | .supports_connect = true, | 1268 | .supports_connect = true, |
| 1269 | }; | 1269 | }; |
| 1270 | return proxy; | 1270 | return proxy; |
| ... | @@ -1582,11 +1582,14 @@ fn validateUri(uri: Uri, arena: Allocator) !struct { Connection.Protocol, Uri } | ... | @@ -1582,11 +1582,14 @@ fn validateUri(uri: Uri, arena: Allocator) !struct { Connection.Protocol, Uri } |
| 1582 | valid_uri.host = .{ | 1582 | valid_uri.host = .{ |
| 1583 | .raw = try (uri.host orelse return error.UriMissingHost).toRawMaybeAlloc(arena), | 1583 | .raw = try (uri.host orelse return error.UriMissingHost).toRawMaybeAlloc(arena), |
| 1584 | }; | 1584 | }; |
| 1585 | valid_uri.port = uri.port orelse switch (protocol) { | 1585 | return .{ protocol, valid_uri }; |
| | 1586 | } |
| | 1587 | |
| | 1588 | fn uriPort(uri: Uri, protocol: Connection.Protocol) u16 { |
| | 1589 | return uri.port orelse switch (protocol) { |
| 1586 | .plain => 80, | 1590 | .plain => 80, |
| 1587 | .tls => 443, | 1591 | .tls => 443, |
| 1588 | }; | 1592 | }; |
| 1589 | return .{ protocol, valid_uri }; | | |
| 1590 | } | 1593 | } |
| 1591 | | 1594 | |
| 1592 | /// Open a connection to the host specified by `uri` and prepare to send a HTTP request. | 1595 | /// Open a connection to the host specified by `uri` and prepare to send a HTTP request. |
| ... | @@ -1634,7 +1637,7 @@ pub fn open( | ... | @@ -1634,7 +1637,7 @@ pub fn open( |
| 1634 | } | 1637 | } |
| 1635 | | 1638 | |
| 1636 | const conn = options.connection orelse | 1639 | const conn = options.connection orelse |
| 1637 | try client.connect(valid_uri.host.?.raw, valid_uri.port.?, protocol); | 1640 | try client.connect(valid_uri.host.?.raw, uriPort(valid_uri, protocol), protocol); |
| 1638 | | 1641 | |
| 1639 | var req: Request = .{ | 1642 | var req: Request = .{ |
| 1640 | .uri = valid_uri, | 1643 | .uri = valid_uri, |