La solicitud de OPCIONES de HTTP se ignora por completo en la configuración de ruta de juego
Estoy usando Play 2.2.1. Tengo la siguiente configuración de ruta en mi archivo de ruta:
OPTIONS /*path controllers.Application.options
GET / controllers.Application.index
...some more routes
Tengo la siguiente configuración en el controlador de aplicaciones:
package controllers
import play.api.mvc._
object Application extends Controller {
def index = Action {
Ok(views.html.index())
}
def options = Action {
Ok("").withHeaders(
"Access-Control-Allow-Origin" -> "*",
"Access-Control-Allow-Methods" -> "GET, POST, PUT, DELETE, OPTIONS",
"Access-Control-Allow-Headers" -> "Accept, Origin, Content-type, X-Json, X-Prototype-Version, X-Requested-With",
"Access-Control-Allow-Credentials" -> "true",
"Access-Control-Max-Age" -> (60 * 60 * 24).toString
)
}
}
Cuando trato de probar una solicitud de OPCIONES con curl, el juego la ignora por completo.
curl -X OPTIONS --include 'http://localhost:9000/foo/139'
Recibo este error de vuelta:
HTTP/1.1 404 Not Found
Content-Type: text/html; charset=utf-8
Content-Length: 7045
<!DOCTYPE html>
<html>
<head>
<title>Action not found</title>
...some more head junk
<body>
<h1>Action not found</h1>
<p id="detail">
For request 'OPTIONS /foo/139'
</p>
<h2>
These routes have been tried, in this order:
</h2>
<div>
<pre><span class="line">1</span><span class="route"><span class="verb">GET</span><span class="path">/</span><span class="call">controllers.Application.index</span></span></pre>
... more routes but none of them are for the OPTIONS request
¿Qué estoy haciendo mal aquí? ¡Gracias por adelantado!