The idea is:
The PROPFIND http method can send a body with the request. However, this block in the HttpRequest node apparently restricts any body being added if it is not a PATCH, POST, PUT, or GET request:
My use case:
I am using a PROPFIND request to communciate with NextCloud. The Nextcloud node already uses PROPFIND for listing a folder, but it only queries the default props. When one supplies a body, they can get additional information.
Another option would be to extend the Nextcloud node, but the body content is fairly convoluted.
I think it would be beneficial to add this because:
- There’s a UX issue since one can add body content but it doesn’t actually do anything and n8n does not notify you of this.
- Making the HTTP Request node more functional seems like a good idea.I’m currently just using an Execute Command node to make a curl request.
Any resources to support this?
Are you willing to work on this?
Yeah, I can definitely do this, I just need some direction on the way you guys would like to add this. Possible ideas I had were:
- Add PROPFIND to the enum of HTTP methods ← I can see arguments against this though. I personally had no idea what PROPFIND was before today.
- Remove the
['PATCH', 'POST', 'PUT', 'GET'].includes(requestMethod)completely ← I have no idea if there are any bad ramifications or if it would lower the user experience - Just add PROPFIND to the array (aka
['PATCH', 'POST', 'PUT', 'GET', 'PROPFIND'].includes(requestMethod)) ← this would solve my problem - Disable the Send Body option when it’s not in the array of approved HTTP methods (along with some info on why it’s disabled). Or put some kind of warning there. <— really anything to let the user know it’s not going to work so they don’t have to dig into the actual n8n code to figure out why