This seems to happen because auth_from_options is only called when either the proxy_user is explicitly set or :auth options are also passed explicitly:
auth_from_options(req, req_options, context) if req_options.key?(:auth) || proxy_user
If we relax this constraint, auth_from_optionsalready has all the code needed to extract the user/pass from the proxy URI:
This seems to happen because
auth_from_options
is only called when either the proxy_user is explicitly set or :auth options are also passed explicitly:auth_from_options(req, req_options, context) if req_options.key?(:auth) || proxy_user
If we relax this constraint,
auth_from_options
already has all the code needed to extract the user/pass from the proxy URI: