You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Dmitry Potapov (JIRA)" <ji...@apache.org> on 2014/05/11 00:06:17 UTC
[jira] [Commented] (HTTPCORE-380) Support for HTTP Delete with
entity body
[ https://issues.apache.org/jira/browse/HTTPCORE-380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13992594#comment-13992594 ]
Dmitry Potapov commented on HTTPCORE-380:
-----------------------------------------
Also, there is no explicit prohibition for GET to have a payload, too.
RFC2616 doesn't explicitly prohibits payload for DELETE but it is stated that request "delete the resource identified by the Request-URI", so, two requests with the same URI should delete the same resources, regardless of payload. In other words, payload for DELETE requests should be ignored by standard compliant server. IMHO, there is no sense to allow entities which must be ignored.
> 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
> 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.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org