From 983346883fb2a047bbfe7fb8d4d8d04ea1c3784d Mon Sep 17 00:00:00 2001 From: sukidhar Date: Fri, 24 Apr 2026 16:08:20 +0530 Subject: [PATCH] Treat empty proxy env vars as unset --- lib/elixir_make/downloader/httpc.ex | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/elixir_make/downloader/httpc.ex b/lib/elixir_make/downloader/httpc.ex index 1f1420f..1ea734e 100644 --- a/lib/elixir_make/downloader/httpc.ex +++ b/lib/elixir_make/downloader/httpc.ex @@ -12,14 +12,14 @@ defmodule ElixirMake.Downloader.Httpc do {:ok, _} = Application.ensure_all_started(:ssl) {:ok, _} = Application.ensure_all_started(:public_key) - if proxy = System.get_env("HTTP_PROXY") || System.get_env("http_proxy") do + if proxy = proxy_env(:http) do Mix.shell().info("Using HTTP_PROXY: #{proxy}") %{host: host, port: port} = URI.parse(proxy) :httpc.set_options([{:proxy, {{String.to_charlist(host), port}, []}}]) end - if proxy = System.get_env("HTTPS_PROXY") || System.get_env("https_proxy") do + if proxy = proxy_env(:https) do Mix.shell().info("Using HTTPS_PROXY: #{proxy}") %{host: host, port: port} = URI.parse(proxy) :httpc.set_options([{:https_proxy, {{String.to_charlist(host), port}, []}}]) @@ -75,6 +75,16 @@ defmodule ElixirMake.Downloader.Httpc do end end + defp proxy_env(:http), do: get_env("HTTP_PROXY") || get_env("http_proxy") + defp proxy_env(:https), do: get_env("HTTPS_PROXY") || get_env("https_proxy") + + defp get_env(var) do + case System.get_env(var) do + "" -> nil + value -> value + end + end + defp warn_no_cacerts do Mix.shell().error(""" No certificate trust store was found.