$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
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
Co takhle ve startup v Presenteru?
$this->getHttpResponse()->setHeader('Pragma', 'public');
nebo ještě lépe, ve vlastní response?
- knyttl
- Člen | 196
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
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)