This address a bug where a `$` character in a request body or header
would not be properly escaped in a string in the generated curl command.
Fixes#5390
* Add empty data param to cURL if no request body was given
Some middleware applications do not allow POST requests without a content-length header. By adding a empty data parameter to the curl command, the content-length header will be set by curl. Besides this it is more obvious to the user that no request body is sent.
* use double quotes like the rest of the curl command