Wednesday, 29 August 2018

Header param with underscore in http requests not available at server side when requesting via postman

Following is the curl export of the API call which is failing -

curl -X GET \
  'http://endpoint.in/dummy/path?mobile=777777777' \
  -H 'Content-Type: application/json' \
  -H 'auth_token: iubsaicbsaicbasiucbsa'

The header param auth_token is not available at all in the server side, as checked from logs.

The same curl however works when directly issued as a command. I have the latest postman version v6.2.3 installed. Also, the same API end point works when requested via other tools like Advanced REST client of chrome.

Previously, I had also checked read this thread http://nginx.org/en/docs/http/ngx_http_core_module.html#underscores_in_headers

Many servers, like nginx, have a config which if set, discards headers with underscore in name.

However, I could not verify the same because I could not find out exactly how is the server deployed in this. It is a node application and we run this command to run the application -

nohup /bin/forever start -o logs/out.log -e logs/err.log app.js

ps -ef | grep node shows the following -

root      5981     1  0 Jul19 ?        00:00:00 /root/.nvm/v7.2.1/bin/node /usr/lib/node_modules/forever/bin/monitor app.js
root      5991  5981  0 Jul19 ?        00:00:04 /root/.nvm/v7.2.1/bin/node /usr/local/another/path/to/app.js

Update

This is interfering in our automated testing as well, via Jmeter.



from Header param with underscore in http requests not available at server side when requesting via postman

No comments:

Post a Comment