lib/std/http/Client.zig: Ignore empty proxy environment variables (#23223)

This fixes #21032 by ignoring proxy environment variables that are
empty.
This commit is contained in:
Elijah M. Immer 2025-03-14 13:20:42 -07:00 committed by GitHub
parent d590b87b6f
commit 1f92b394e9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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);