Every rule for a base URL, in order: a non-blank string, no whitespace or control
characters (baseUrlWhitespaceProblem), an absolute URL, the http: or
https: scheme, and no query or fragment — request paths are appended to the
base URL as a string, so a ? or # would swallow every path (http://h/?x=1
requests /?x=1/Einheit/..., http://h/#f requests /), and a % in the user name or
password that doesn't start a valid escape (Node fails to decode it for the Authorization
header at request time; a literal one is %25). Userinfo is allowed (error messages
redact it). The reasons never echo the URL.
Every rule for a base URL, in order: a non-blank string, no whitespace or control characters (baseUrlWhitespaceProblem), an absolute URL, the
http:orhttps:scheme, and no query or fragment — request paths are appended to the base URL as a string, so a?or#would swallow every path (http://h/?x=1requests/?x=1/Einheit/...,http://h/#frequests/), and a%in the user name or password that doesn't start a valid escape (Node fails to decode it for the Authorization header at request time; a literal one is%25). Userinfo is allowed (error messages redact it). The reasons never echo the URL.