Benji Benning created NIFI-11250:
------------------------------------

             Summary: InvokeHTTP drops the Body when using the DELETE method
                 Key: NIFI-11250
                 URL: https://issues.apache.org/jira/browse/NIFI-11250
             Project: Apache NiFi
          Issue Type: Bug
          Components: Extensions
    Affects Versions: 1.20.0
            Reporter: Benji Benning


Today, InvokeHTTP drops the Body when the method used isn't PUT, POST, or PATCH 
 (As stated in the documentation). RFC states that DELETE with body isn't 
generally used, but doesn't disallow it.

In my case, i'm using InvokeHTTP to interact with Keycloak's Admin REST API. 
They use DELETE with body in quite a few cases. for example in my specific use 
case:
[https://www.keycloak.org/docs-api/21.0.1/rest-api/#_role_mapper_resource]

(referring to: Delete realm-level role mappings)

Additional information:
{noformat}
Although request message framing is independent of the method used, content 
received in a DELETE request has no generally defined semantics, cannot alter 
the meaning or target of the request, and might lead some implementations to 
reject the request and close the connection because of its potential as a 
request smuggling attack (Section 11.2 of [HTTP/1.1]). A client SHOULD NOT 
generate content in a DELETE request unless it is made directly to an origin 
server that has previously indicated, in or out of band, that such a request 
has a purpose and will be adequately supported. An origin server SHOULD NOT 
rely on private agreements to receive content, since participants in HTTP 
communication are often unaware of intermediaries along the request 
chain.{noformat}
[https://www.rfc-editor.org/rfc/rfc9110.html#name-delete] 

 

During discussion with Otto Fowler, he stated that this is disabled in the 
[HTTPMethod 
enum|https://github.com/apache/nifi/blob/7a47c8cfbd458ab037275762c385d50372c130a3/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/http/HttpMethod.java].



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to