Я использую Sinatra и CORS, чтобы принять загрузку файла на домене A. (hefty.burger.com). Домен B (fizzbuzz.com) имеет форму, которая загружает файл на маршрут A.
У меня есть маршрут options и почтовый маршрут, оба с именами '/uploader'.
options '/uploader' do
headers 'Access-Control-Allow-Origin' => 'http://fizz.buzz.com',
'Access-Control-Allow-Methods' => 'POST'
200
end
post '/uploader' do
...
content_type :json
[{:mary => 'little lamb'}].to_json
end
Варианты срабатывают первыми... и это работает... затем сообщение срабатывает и возвращает 403.
Если я отключу защиту, сообщение сработает... какую защиту мне нужно исключить из список, чтобы сохранить защиту, но разрешить эти сообщения?
Только недавно я был обожжен новой защитой Rack, сработавшей на Heroku и причинившей мне некоторое горе... кто-нибудь может подсказать, что здесь делать? Причина, по которой я говорю это, заключается в том, что я внезапно вижу записи журнала с предупреждениями о проблемах захвата сеанса (почти наверняка из-за не более чем запуска> 1 Dyno для приложения). Я вижу защиту стойки (1.2.0) в моем Gemfile.lock, хотя я никогда не просил об этом... что-то в моем манифесте требует этого, поэтому он загружается, но ничто в моем приложении Sinatra даже не пытается его потребовать или настроить его.