Juego 2 - ¿Establecer cabecera en todas las respuestas?
Soy consciente de¿Configurando encabezados HTTP en Play 2.0 (scala)? que puede establecer encabezados de respuesta caso por caso haciendo, por ejemplo,Ok("hello").withHeaders(PRAGMA -> "no-cache")
.
¿Qué sucede si desea establecer ese encabezado, o algunos encabezados diferentes, en las respuestas de todas sus Acciones? No querrías repetir elwithHeaders
en todos lados. Y como esto se parece más a una configuración de toda la aplicación, es posible que no desee que los escritores de Acción tengan que usar una sintaxis diferente para obtener sus encabezados (por ejemplo,OkWithHeaders(...)
)
Lo que tengo ahora es una clase de controlador base que parece
class ContextController extends Controller {
...
def Ok(h: Html) = Results.Ok(h).withHeaders(PRAGMA -> "no-cache")
}
pero eso no se siente del todo bien. Se siente como que debería haber más de una forma estilo AOP de definir los encabezados predeterminados y agregarlos a cada respuesta.