[ 
https://issues.apache.org/jira/browse/HTTPCORE-380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15695488#comment-15695488
 ] 

Julian Reschke commented on HTTPCORE-380:
-----------------------------------------

"A request method is considered "idempotent" if the intended effect on the 
server of multiple identical requests with that method is the same as the 
effect for a single such request. Of the request methods defined by this 
specification, PUT, DELETE, and safe request methods are idempotent."
 -- <https://greenbytes.de/tech/webdav/rfc7231.html#idempotent.methods>

So how exactly is DELETE-with-body non-idempotent? (no matter how bad the idea 
might be in the first place...)

> 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]

Reply via email to