The issue resolved itself literally overnight. No server reboot, no change to code, and I'm using the same tool to test (DHC by Restlet - a Chrome extension). However, since this was not working on both dev and staging environments, and is now working on both environments, this leaves me with the only answer being the testing tool, Chrome, a local caching issue or some combination.
Lesson learned: use multiple testing tools.
Now when I POST using Content-Type: application/x-www-form-urlencoded
:
{
"request":{
"test":"message"
},
"phpinput":"test=message"
}
Now when I POST using Content-Type: multipart/form-data
:
{
"request":{
"test":"message"
},
"phpinput":""
}