I'm not the first to ask this question and I understand that Node might be pretty strict about the headers it's sent, but my eye doesn't see anything outlandish in the response headers so I'm hoping for an explanation, if not a fix.
I have Node making a GET request to a very specific, internal resource. I've tried making this request via request-promise, request and the standard http library (just to be thorough). The request works perfectly fine via curl or when loaded in a browser. My node request fails with the HPE_INVALID_HEADER_TOKEN error.
$ curl -IS 'http://192.168.0.1/getdeviceinfo/info.bin'
HTTP/1.1 200 OK
Date: Wed, 02 Dec 2015 16:42:45 GMT
Server: nostradamus 1.9.5
Connection: close
Etag: Aug 28 2015, 07:57:20
Transfer-Encoding: chunked
HTTP/1.0 200 OK
Content-Type: text/html
I know you won't be able to access that URL, but does anyone see anything in those headers on which you'd expect a Node request to choke? I have no control over the headers, but it would at least be nice to know which one is causing the hassle.