Apache WebDAV接受POST作为新资源上的PUT

问题描述

我有一项服务正在发布到Apache WebDAV端点but POST is not a standard implemented method and on WebDAV

最终目标是使文件通过POST上传,以创建/覆盖与PUT方法当前工作方式完全相同的资源。就像服务执行PUT时一样,文件已成功创建,但是在POST上,仅当文件已存在时才起作用。

例如: 成功对新资源进行PUT

➜  ~ curl -X PUT -k  -F 'data=@test_file_upload.txt https://endpoint.tld/put_test.txt
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>201 Created</title>
</head><body>
<h1>Created</h1>
<p>Resource /put_test.txt has been created.</p>
</body></html>

在新资源上发布POST失败

➜  ~ curl -X POST -k  -F 'data=@test_file_upload.txt' https://endpoint.tld/post_test.txt
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /post_test.txt was not found on this server.</p>
</body></html>

我已经尝试过Apache Rewrite,但是无法更改方法

我目前正在尝试使用Wsgi和POST上的代理请求来实现python3 Flask脚本;但这变得非常繁琐和复杂。

是否可以使用mod_perl编写某些脚本而不扩展到代理请求?

我如何利用最低的摩擦解决方案来实现这一目标?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)