No data/body passed to REST server for DELETE by InvokeURL

No data/body passed to REST server for DELETE by InvokeURL

Hello Zoho,

It seems no data or body of HTTP request is passed to REST server when request type DELETE is used for InvokeURL function.

I tried to send DELETE using cURL command and from Python, it worked without problem. The problem occurs only with Deluge's InvokeURL.

For testing purpose, I simplified my code and send the request to httpbin.org which returns input data as reponse. See below my test code:

  1. // This test uses HTTPBIN site as a dummy REST server
  2. // See: https://httpbin.org/
  3. response = invokeurl
  4. [
  5. url :"https://httpbin.org/delete"
  6. type :DELETE
  7. parameters:"Hello World"
  8. headers:{"Content-Type":"text/plain"}
  9. ];
  10. info "response: " + response;
The reposense was as follows. As you see, null is set to "data" field i.e. no data is passed to the REST Server. Note that the siutation is same if I use "application/json" for "Content-Type" in the header.

I guess InvokeURL is wrongly implemented to ignore data/body of the request in case of DELETE. Please check and modify its behavior to pass data/body of the request even in case of DELETE.
  1. // An example of response. As you see, data is set to null.
  2. "response":{
  3.    "args":{
  4.    },
  5.    "data":"",
  6.    "files":{
  7.    },
  8.    "form":{
  9.    },
  10.    "headers":{
  11.   "Accept-Encoding":"gzip,deflate",
  12.   "Content-Type":"text/plain",
  13.   "Host":"httpbin.org",
  14.   "User-Agent":"Deluge",
  15.   "X-Amzn-Trace-Id":"Root=1-65d2e575-514a43660313***********",
  16.   "X-Zoho-Fromservice":"ZohoCreator"
  17.    },
  18.    "json":null,
  19.    "origin":"***.***.***.**",
  20.    "url":"https://httpbin.org/delete"
  21. }