Is there a way to specify headers for Pkg registry and package downloads?
My corporate proxy will only work with a specific User-Agent string. I tested it successfully with Downloads.download using the headers keyword-argument, but I am unsure how to specify with Pkg.
Maybe through environment variables? Any help appreciated.
Not sure but look into the functions in Pkg.PlatformEngines, like handle_auth_error?
To make sure I understand, are you suggesting that I modify the Pkg source code and build Julia?
While perusing the code, I noticed that Pkg.PlatformEngines.get_metadata_header will pick up ENV variables that start with JULIA_PKG_SERVER. So I tried setting JULIA_PKG_SERVER_USER_AGENT, but it results in a Julia-User-Agent header, which is slightly off…
I’m not saying I recommend this, or that it shouldn’t actually be addressed inside a library/package, but you could try to modify Curl.USER_AGENT:
julia> import Pkg.PlatformEngines.Downloads.Curl
julia> Curl.USER_AGENT
"curl/7.84.0 julia/1.9"