【发布时间】:2015-08-21 06:31:11
【问题描述】:
我正在尝试在我的 rails 应用程序上实现git push,它发送 PROPFIND 请求,rails 似乎没有验证。当我尝试时:
git 推送http://localhost:3000/satellite/.git
它给了我:
于 2015 年 6 月 8 日为 127.0.0.1 启动 PROPFIND "/satellite/.git/" 19:20:38 +0530
ActionController::RoutingError(没有路由匹配 [PROPFIND] "/satellite/.git")
但是git clone http://localhost:3000/satellite/.git 工作得很好。 (即那里存在回购。)
如果我尝试将 propfind 添加到我的 routes.rb 文件中,它会给我:
ActionDispatch::Routing::Mapper 的未定义方法 `propfind'
我认为在那个补丁之后他们允许在 ActionDispatch 中使用 PROPFIND,并且在 doc 他们提到 propfind 作为 RFC3253 常量。有什么方法可以启用 PROPFIND 吗?
【问题讨论】:
-
不是您的直接解决方案,但似乎其他人在使用 Rails
~ 3.1时遇到了这个问题,并制作了一个您可能想要查看的宝石github.com/wvk/railsdav -
感谢@JonathanBender。我使用的是哑 http 协议,因此在推送期间它回退到 webdav 并发送一个 profind 请求。我用github.com/gitlabhq/grack 切换到智能http,现在推送发送post 请求。但是,我仍然不明白为什么 rails 不会验证 propfind 请求,因为我的应用不是 webdav 应用?
标签: ruby-on-rails git actiondispatch