This repository has been archived by the owner on Apr 12, 2024. It is now read-only.
Don't send empty String in place of no body #4021
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
XMLHttpRequest.send spec defines different semantics for an empty string as compared to null, any string, whether empty or not, should be sent with a Content-Type of text/plain, whereas null should have no Content-Type header set. Since the user hasn't passed in content to send, the latter should be used.
See http://www.w3.org/TR/XMLHttpRequest/#the-send()-method
Combined with this bug in WebKit based browsers:
https://code.google.com/p/chromium/issues/detail?id=172802
This means when no body is supplied, the
Content-Type
ends up being application/xml, which for an empty String, means the body is invalid according to the content type. This causes issues for web servers that automatically parse the body according to the declared content type, such as this issue in Play framework:playframework/playframework#1676