Soy consciente de Setting HTTP headers in Play 2.0 (scala)? que puede establecer los encabezados de respuesta caso por caso haciendo, por ejemplo, Ok("hello").withHeaders(PRAGMA -> "no-cache")
.Reproducir 2 - Establecer encabezado en todas las respuestas?
¿Qué sucede si desea establecer ese encabezado, o algunos encabezados diferentes, en las respuestas de todas sus acciones? No querrá repetir el withHeaders
en todas partes. Y puesto que este es más como una configuración de toda la aplicación, no puede ser que desee escritores de acción tengan que utilizar una sintaxis diferente para obtener los encabezados (por ejemplo OkWithHeaders(...)
)
Lo que tenemos ahora es una clase de controlador de base que se parece a
class ContextController extends Controller {
...
def Ok(h: Html) = Results.Ok(h).withHeaders(PRAGMA -> "no-cache")
}
pero eso no se siente del todo bien. Parece que debería haber más de una forma al estilo de AOP de definir los encabezados predeterminados y tenerlos agregados a cada respuesta.
Tenga en cuenta que PRAGMA -> no-cache probablemente no va a funcionar de la manera que desea. Vea este enlace: http://www.mnot.net/cache_docs/ Probablemente quiera usar CACHE_CONTROL en lugar de PRAGMA – andrewf
'CACHE_CONTROL ->" max-age = 0 "' debería hacerlo. – andrewf