I’m running a NodeJS application on CloudFoundry that is meant to be used in combination with an existing HTTP client which I have no influence on.
This HTTP client sends request headers which my application is dependent on, but iterating through the list of headers has them missing. In contrast, running the NodeJS application on the development machine lists these headers as expected.
The headers in question are application specific, not defined by an RFC document nor do they start with ‘X-‘. To be precise, the client in question is the in-game-browser of the game “EVE Online”. The headers of the client are named with the prefix “eve_”, so “eve_trusted” would be a real example.
Below we identified the underscore character (‘_’) to be a possible problem – Other unknown headers without an underscore do get passed on.
Is there a way to get to the original headers of the request, would this be a feature request for Cloud Foundry or am I lost here as soon as I’m put behind a load-balancer on cloud services in general?
just to help understand your issue I deployed a simple node app that would output the headers set by a client so I could use curl to send arbitrary values, the code is as follows;
I deployed it to http://node-headers.cloudfoundry.com, please feel free to test this yourself, I will leave it live for a while. I then sent a request using the following syntax with curl;
This produced the following output;
You can see the custom header I sent through with curl. I have also tested this with more than one instance, with the same results.
If there is something I am missing here then please do let me know and I will be more than happy to work through the problem with you.