A value that ends up in an HTTP header (the User-Agent) must be a non-blank
string of Latin-1 characters without control characters (tab is allowed, as in
HTTP). A blank one would send an empty header; Node's HTTP layer would throw an
opaque "Invalid character in header content" at request time for the others, and
a custom transport would get a CR/LF through (header injection). Checked by char
code so the source stays free of control bytes.
A value that ends up in an HTTP header (the User-Agent) must be a non-blank string of Latin-1 characters without control characters (tab is allowed, as in HTTP). A blank one would send an empty header; Node's HTTP layer would throw an opaque "Invalid character in header content" at request time for the others, and a custom transport would get a CR/LF through (header injection). Checked by char code so the source stays free of control bytes.