aboutsummaryrefslogtreecommitdiff
path: root/lib/std/http
diff options
context:
space:
mode:
authorElijah M. Immer <me@eimmer.me>2025-03-14 13:20:42 -0700
committerGitHub <noreply@github.com>2025-03-14 21:20:42 +0100
commit1f92b394e97ce13e49cce8838968c0dc848d0abb (patch)
tree3e792e975e640d0b88a1a5c05bad5833ace94845 /lib/std/http
parentd590b87b6f6d87c5cf58fbc70e3094ece754ec31 (diff)
downloadzig-1f92b394e97ce13e49cce8838968c0dc848d0abb.tar.gz
zig-1f92b394e97ce13e49cce8838968c0dc848d0abb.zip
lib/std/http/Client.zig: Ignore empty proxy environment variables (#23223)
This fixes #21032 by ignoring proxy environment variables that are empty.
Diffstat (limited to 'lib/std/http')
-rw-r--r--lib/std/http/Client.zig6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/std/http/Client.zig b/lib/std/http/Client.zig
index 86f29b4a08..ecc1893194 100644
--- a/lib/std/http/Client.zig
+++ b/lib/std/http/Client.zig
@@ -1241,10 +1241,14 @@ pub fn initDefaultProxies(client: *Client, arena: Allocator) !void {
fn createProxyFromEnvVar(arena: Allocator, env_var_names: []const []const u8) !?*Proxy {
const content = for (env_var_names) |name| {
- break std.process.getEnvVarOwned(arena, name) catch |err| switch (err) {
+ const content = std.process.getEnvVarOwned(arena, name) catch |err| switch (err) {
error.EnvironmentVariableNotFound => continue,
else => |e| return e,
};
+
+ if (content.len == 0) continue;
+
+ break content;
} else return null;
const uri = Uri.parse(content) catch try Uri.parseAfterScheme("http", content);