Sinatra是否支持OPTIONS HTTP动词?就像是:
options '/' do
response.headers["Access-Control-Allow-Origin"] = "*"
response.headers["Access-Control-Allow-Methods"] = "POST"
halt 200
end
Run Code Online (Sandbox Code Playgroud)
Kev*_*tre 28
经过一些黑客攻击后,我设法使用:
before do
if request.request_method == 'OPTIONS'
response.headers["Access-Control-Allow-Origin"] = "*"
response.headers["Access-Control-Allow-Methods"] = "POST"
halt 200
end
end
Run Code Online (Sandbox Code Playgroud)
编辑:
在对此问题进行了一些调查之后,我意识到GitHub上有一个PULL请求,用于添加OPTIONS动词(https://github.com/sinatra/sinatra/pull/129).我使用以下代码片段解决了这个问题:
configure do
class << Sinatra::Base
def options(path, opts={}, &block)
route 'OPTIONS', path, opts, &block
end
end
Sinatra::Delegator.delegate :options
end
Run Code Online (Sandbox Code Playgroud)
现在我可以简单地使用:
options '/' do
...
end
Run Code Online (Sandbox Code Playgroud)
编辑:
应该合并拉取请求.不再需要黑客攻击.
| 归档时间: |
|
| 查看次数: |
9612 次 |
| 最近记录: |