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). Node's HTTP layer would otherwise throw an opaque "Invalid character in
header content" at request time, 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). Node's HTTP layer would otherwise throw an opaque "Invalid character in header content" at request time, and a custom transport would get a CR/LF through (header injection). Checked by char code so the source stays free of control bytes.