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) 我创建了一个小的 Sinatra 应用程序并使用 Puma 来运行它。我已经将我的应用程序部署到 Heroku 并且一切正常,但是如果我按照指向我的应用程序的外部链接,我会收到响应Forbidden。这是从哪里来的?
该应用程序仅定义了一种 HTTP 方法:
require 'sinatra'
get '/' do
headers 'Content-Type' => 'application/json'
body 'Hello World'
end
Run Code Online (Sandbox Code Playgroud)
例如,遵循https://contactsampleprovider.herokuapp.com/将导致Forbidden,但在浏览器中手动输入 URL 工作正常。
如果我省略headers-call,一切都会按预期进行。