Jestem świadomy, że od Setting HTTP headers in Play 2.0 (scala)? można ustawić nagłówki odpowiedzi dla poszczególnych przypadków, wykonując na przykład Ok("hello").withHeaders(PRAGMA -> "no-cache")
.Zagraj w 2 - Ustaw nagłówek we wszystkich odpowiedziach?
Co należy zrobić, jeśli chcesz ustawić ten nagłówek lub kilka różnych nagłówków w odpowiedziach ze wszystkich działań? Nie chcesz już wszędzie powtarzać numeru withHeaders
. A ponieważ jest to bardziej jak konfiguracja obejmująca całą aplikację, możesz nie chcieć, aby piszący Action użyli innej składni, aby uzyskać nagłówki (np. OkWithHeaders(...)
)
Mam teraz klasę kontrolera bazowego, która wygląda jak
class ContextController extends Controller {
...
def Ok(h: Html) = Results.Ok(h).withHeaders(PRAGMA -> "no-cache")
}
ale to nie jest całkiem w porządku. Wydaje się, że powinien istnieć sposób stylu AOP definiowania domyślnych nagłówków i dodawania ich do każdej odpowiedzi.
Zauważ, że PRAGMA -> no-cache prawdopodobnie nie będzie działać tak, jak zamierza. Zobacz ten link: http://www.mnot.net/cache_docs/ Prawdopodobnie chcesz użyć CACHE_CONTROL zamiast PRAGMA – andrewf
'CACHE_CONTROL ->" max-age = 0 "' powinno to zrobić. – andrewf