Hi, In XHR [1], setRequestHeader is defined by this: [[ void setRequestHeader(ByteString name, ByteString value); ]] It has a note: [[ Throws a SyntaxError exception if name is not a header name or if value is not a header value. ]]
In WebIDL [2], ByteString is defined by the algorithm [[ • Let x be ToString(V). • If the value of any element of x is greater than 255, then throw a TypeError. • Return an IDL ByteString value whose length is the length of x, and where the value of each element is the value of the corresponding element of x. ]] So what should be thrown when one does var client = new XMLHttpRequest(); client.open('GET', '/glop'); client.setRequestHeader('X-Test', '小'); TypeError per WebIDL or SyntaxError per XHR? I think it should be TypeError, and SyntaxError for code <256 that are not allowed, but implementations currently use SyntaxError only. [1] https://xhr.spec.whatwg.org/ [2] https://heycam.github.io/webidl/#es-ByteString -- Baroula que barouleras, au tiéu toujou t'entourneras. ~~Yves