Sinatra y ajuste de protección de rack

Estoy usando Sinatra y CORS para aceptar una carga de archivo en el dominio A (hefty.burger.com). El dominio B (fizzbuzz.com) tiene un formulario que carga un archivo a una ruta en A.

Tengo una ruta de opciones y una ruta de publicación, ambas denominadas '/ uploader'.

<code>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
</code>

Las opciones se golpean primero ... y funciona ... luego la publicación se golpea y devuelve un 403.

Si deshabilito la protección, la publicación funciona ... ¿qué tipo de protección debo excluir de una lista para mantener la protección pero permitir que se realicen estas publicaciones?

Solo recientemente me quemé con la nueva protección de Rack, golpeando a Heroku y causándome un poco de dolor ... ¿alguien tiene un buen indicador de qué hacer aquí? La razón por la que digo eso es que, de repente, veo entradas de registro con alertas de problemas de secuestro de sesión (casi seguro que se deben a nada más que ejecutar> 1 Dyno para la aplicación). Veo protección de bastidor (1.2.0) en mi Gemfile.lock aunque nunca lo pedí ... algo en mi manifiesto lo está solicitando, por lo que está cargado, pero nada en mi aplicación Sinatra trata de requerirlo o configurarlo.

Respuestas a la pregunta(5)

Su respuesta a la pregunta