[
https://issues.apache.org/jira/browse/HTTPCORE-380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15695821#comment-15695821
]
Oleg Kalnichevski commented on HTTPCORE-380:
--------------------------------------------
We seem to be in agreement as far as practicality of entity enclosing GET and
DELETE requests is concerned. What I am not sure I quite understand is why
making them even easier to abuse instead of expressly discouraging from their
use?
Idempotency of GET requests has a clear story: send back representation of the
resource without mutating it. Idempotency of PUT requests is also quite clear:
send the complete, self-contained new representation of the resource.
I personally cannot even imagine a clear story for DELETE requests with an
enclosed body. How would one even formulate it?
DELETE requests with an enclosed body are just plain silly. People should be
using POSTs in their stead.
Oleg
> Support for HTTP Delete with entity body
> ----------------------------------------
>
> Key: HTTPCORE-380
> URL: https://issues.apache.org/jira/browse/HTTPCORE-380
> Project: HttpComponents HttpCore
> Issue Type: New Feature
> Components: HttpCore, HttpCore NIO
> Affects Versions: 4.4-alpha1
> Reporter: Jeewantha Dharmaparakrama
> Fix For: 5.0-alpha1
>
> Attachments: httpcore-nio.diff, httpcore.diff
>
>
> Hi All,
> I have created a fix to support HTTP DELETEs with entity bodies. In HTTP
> Core, the HttpRequest object (BasicHttpRequest or
> BasicHttpEntityEnclosingRequest) is made by looking at the HTTP method. But
> sometimes an API could accept HTTP Deletes with payloads for example [1]. To
> support this I have introduced a new type of HTTP requests
> "HttpEntityPossibleEnclosingRequest". By calling the "getFinalHttpRequest"
> method in this class, the proper HTTP request object can be made, i.e.
> HttpRequest or HttpEntityEnclosingRequest. The logic is if the
> HttpEntityPossibleEnclosingRequest has the CONTENT_LENGTH header, an
> HttpEntityEnclosingRequest is made and an HttpRequest is made otherwise.
> Note. the spec does not prohibit an HTTP Delete having a payload [2] [3].
> [1]
> http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-delete-by-query.html
> [2] http://stackoverflow.com/a/299696/1411653
> [3] http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.7
> Thanks,
> Jeewantha
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]