Every rule for a base URL, in this order: a string; an absolute URL new URL()
can parse; scheme http: or https: (the default transport also gates the
scheme per hop, but a custom transport may not); no ? or # (request paths
are appended as a string, so http://h/?x=1 would request /?x=1/api/... and
http://h/#f would request /); a % in the user name or password that starts a
valid escape (%25 for a literal one: Node decodes the userinfo for the Authorization
header and failed at request time); then baseUrlWhitespaceProblem. The reasons
never echo the value, so credentials in it cannot leak into a message.
Userinfo is allowed: the repo deliberately sends it.
Every rule for a base URL, in this order: a string; an absolute URL
new URL()can parse; schemehttp:orhttps:(the default transport also gates the scheme per hop, but a custom transport may not); no?or#(request paths are appended as a string, sohttp://h/?x=1would request/?x=1/api/...andhttp://h/#fwould request/); a%in the user name or password that starts a valid escape (%25for a literal one: Node decodes the userinfo for the Authorization header and failed at request time); then baseUrlWhitespaceProblem. The reasons never echo the value, so credentials in it cannot leak into a message. Userinfo is allowed: the repo deliberately sends it.