$httpResponse->setHeader nemá vliv

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
knyttl
Člen | 196
+
0
-

Ahoj,

snažím se donutit, aby Nette odeslalo hlavičku Pragma: public. Ač ale nastavuji cokoliv, po spuštění aplikace Nette stejně odešle „no-cache“. Kde by se měly tyto hlavičky nastavovat?

<?php
$httpResponse = E::getHttpResponse();
$httpResponse->setExpiration('tomorrow');
$httpResponse->setHeader('Pragma', 'public');
$httpResponse->setHeader('Cache-Control', 'must-revalidate');

echo $httpResponse->getHeader('Pragma');
// public

$application->run();

echo $httpResponse->getHeader('Pragma');
// no-cache
?>
Filip Procházka
Moderator | 4668
+
0
-

Co takhle ve startup v Presenteru?

$this->getHttpResponse()->setHeader('Pragma', 'public');

nebo ještě lépe, ve vlastní response?

knyttl
Člen | 196
+
0
-

Supr, díky. No z dokumentace na https://doc.nette.org/cs/http/request by mi asi zřejmé nebylo, že to má být v Presenteru.

Jak by se dělala vlastní response?

Ď.

Filip Procházka
Moderator | 4668
+
0
-

Tak, že zkopíruješ například Nette\Application\Responses\TextResponse a upravíš jak potřebuješ :)

V presenteru pak

$this->sendResponse(new MyResponse($neco));

Editoval HosipLan (5. 9. 2011 19:27)

knyttl
Člen | 196
+
0
-

Super, díky za rady!

Editoval knyttl (6. 9. 2011 2:02)