csquared / arduino-restclient

Arduino RESTful HTTP Request Library
MIT License
205 stars 133 forks source link

POST: Bad Request in case of JSON #20

Open pratibimb opened 6 years ago

pratibimb commented 6 years ago

While making RESTful POST request to my ParseServer (http://parseplatform.org/) I kept on getting the BAD REQUEST error as the server was not able to understand the JSON.

Upon comparing the request with the one from POSTMAN tool, I found that there should be a blank row between the last header and the JSON.

Request.txt

For this reason, I updated following code in RestClient.cpp to make it work.

if(body != NULL){ request += "\r\n"; // Added to make JSON post request work. request += String(body); request += "\r\n\r\n"; }

In case you think this helps then do incorporate this logic for POST requests with JSON. The new file is as attached. RestClient.h.txt

Regards.

garvamel commented 6 years ago

Make a pull request please, this is very useful. Thanks for the attached file!

joaquinseco commented 6 years ago

@pratibimb: DId you finally do the Pull Request?. I have lost hours to detect this same error, and when I was going to report de issue, I've seen you had already found this bug :(

Thank yoy very much @pratibimb and of couse, thank you very much @garvamel for this fantasctic job.