¿Admite Sinatra el OPTIONS HTTP verb? Algo como:OPCIONES DE Sinatra HTTP Verb
options '/' do
response.headers["Access-Control-Allow-Origin"] = "*"
response.headers["Access-Control-Allow-Methods"] = "POST"
halt 200
end
¿Admite Sinatra el OPTIONS HTTP verb? Algo como:OPCIONES DE Sinatra HTTP Verb
options '/' do
response.headers["Access-Control-Allow-Origin"] = "*"
response.headers["Access-Control-Allow-Methods"] = "POST"
halt 200
end
Después de un poco de piratería informática que logró conseguir que funcione usando:
before do
if request.request_method == 'OPTIONS'
response.headers["Access-Control-Allow-Origin"] = "*"
response.headers["Access-Control-Allow-Methods"] = "POST"
halt 200
end
end
Editar:
Después de un poco más de mirar a su alrededor en este tema, me di cuenta de que una solicitud de tirar hacia arriba está en GitHub para la adición del verbo OPTIONS
(https://github.com/sinatra/sinatra/pull/129). Tomé la solución y cortado en usar el siguiente fragmento:
configure do
class << Sinatra::Base
def options(path, opts={}, &block)
route 'OPTIONS', path, opts, &block
end
end
Sinatra::Delegator.delegate :options
end
Ahora puede simplemente usar:
options '/' do
...
end
Editar:
La solicitud de extracción debería fusionarse. No más necesidad del hack.
No, no lo hace. Si mira el código en GitHub, puede ver dónde están definidos los verbos HTTP y options
no es uno de ellos.
¿Cómo puedo agregarlo? –
@KevinSylvestre Dado que parece que los verbos de ruta existentes se implementan como métodos de clase en Sinatra :: Base (consulte el enlace que proporcionó Jergason), debería poder definir su propio: 'def Sinatra :: Base.options (ruta , opts = {}, &bk); ruta 'OPCIONES', ruta, opts, & bk end' (no probado). – Phrogz
@Phrogz Gracias! Ese fragmento me ayudó a descubrir cómo aplicar el parche. Consulte mi respuesta actualizada. –
Sí, ya lo hace Sinatra Routes documentation
la respuesta es, simplemente, sí! (mira debajo de Rutas en el léame http://www.sinatrarb.com/intro.html)
Si están leyendo esto, por favor revisen [mi respuesta] (http://stackoverflow.com/a/10195704/316700), ahora Sinatra implementa las 'opciones '_method_ out-of-the-box. – fguillen