本文整理汇总了PHP中Nette\Http\IResponse::setExpiration方法的典型用法代码示例。如果您正苦于以下问题:PHP IResponse::setExpiration方法的具体用法?PHP IResponse::setExpiration怎么用?PHP IResponse::setExpiration使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Nette\Http\IResponse
的用法示例。
在下文中一共展示了IResponse::setExpiration方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: send
/**
* {inheritDoc}
*/
public function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse)
{
$httpResponse->setContentType($this->getContentType(), 'utf-8');
$httpResponse->setExpiration(FALSE);
$httpResponse->setCode($this->code);
echo Nette\Utils\Json::encode($this->getPayload(), Nette\Utils\Json::PRETTY);
}
示例2: send
/**
* @param Http\IRequest $request
* @param Http\IResponse $response
*/
public function send(Http\IRequest $request, Http\IResponse $response)
{
$response->setContentType($this->contentType);
$response->setCode($this->code ?: Http\IResponse::S200_OK);
$response->setExpiration($this->expiration);
$response->setHeader('Pragma', $this->expiration ? 'cache' : 'no-cache');
echo Json::encode($this->data);
}
示例3: send
/**
* {@inheritdoc}
*/
public function send(IRequest $httpRequest, IResponse $httpResponse)
{
$httpResponse->setContentType('text/xml');
$httpResponse->setExpiration(false);
$httpResponse->setCode($this->getCode());
$httpResponse->setHeader('Content-Length', strlen($this->response));
echo $this->response;
}
示例4: lastModified
/**
* Attempts to cache the sent entity by its last modification date.
* @param string|int|DateTime last modified time
* @param string strong entity tag validator
* @param mixed optional expiration time
* @return void
* @throws Nette\Application\AbortException
*/
public function lastModified($lastModified, $etag = NULL, $expire = NULL)
{
if ($expire !== NULL) {
$this->httpResponse->setExpiration($expire);
}
if (!$this->httpContext->isModified($lastModified, $etag)) {
$this->terminate();
}
}
示例5: lastModified
/**
* Attempts to cache the sent entity by its last modification date.
* @param string|int|\DateTimeInterface last modified time
* @param string strong entity tag validator
* @param mixed optional expiration time
* @return void
* @throws Nette\Application\AbortException
*/
public function lastModified($lastModified, $etag = NULL, $expire = NULL)
{
if ($expire !== NULL) {
$this->httpResponse->setExpiration($expire);
}
$helper = new Http\Context($this->httpRequest, $this->httpResponse);
if (!$helper->isModified($lastModified, $etag)) {
$this->terminate();
}
}
示例6: send
/**
* @param Nette\Http\IRequest $httpRequest
* @param Nette\Http\IResponse $httpResponse
* @throws \Nette\Application\BadRequestException
*/
public function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse)
{
$httpResponse->setContentType($this->contentType);
$httpResponse->setExpiration(FALSE);
$callback = $httpRequest->getQuery(self::$callbackName);
if (is_null($callback)) {
throw new \Nette\Application\BadRequestException("Invalid JSONP request.");
}
echo $callback . "(" . Nette\Utils\Json::encode($this->payload) . ")";
}
示例7: send
/**
* Sends response to output.
* @return void
*/
public function send(IRequest $httpRequest, \Nette\Http\IResponse $httpResponse)
{
if ($this->error) {
$this->payload = ['error' => TRUE, 'message' => $this->errorMessage];
} else {
$this->payload['error'] = FALSE;
}
$httpResponse->setContentType($this->contentType);
$httpResponse->setExpiration(FALSE);
echo Json::encode($this->payload);
}
示例8: send
/**
* Sends response to output.
*
* @param \Nette\Http\IRequest $httpRequest
* @param \Nette\Http\IResponse $httpResponse
*/
public function send(\Nette\Http\IRequest $httpRequest, \Nette\Http\IResponse $httpResponse)
{
if (strlen($this->etag)) {
$httpResponse->setHeader('Etag', $this->etag);
}
$httpResponse->setExpiration(\Nette\Http\IResponse::PERMANENT);
if (($inm = $httpRequest->getHeader('if-none-match')) && $inm == $this->etag) {
$httpResponse->setCode(\Nette\Http\IResponse::S304_NOT_MODIFIED);
return;
}
$httpResponse->setContentType($this->contentType);
echo $this->content;
}
示例9: send
/**
* Sends response to output.
*
* @param Http\IRequest $httpRequest
* @param Http\IResponse $httpResponse
*/
public function send(Http\IRequest $httpRequest, Http\IResponse $httpResponse)
{
$httpResponse->setExpiration(Http\IResponse::PERMANENT);
if (($inm = $httpRequest->getHeader('if-none-match')) && $inm == $this->etag) {
$httpResponse->setCode(Http\IResponse::S304_NOT_MODIFIED);
return;
}
$httpResponse->setContentType(AssetsLoader\Files\MimeMapper::getMimeFromFilename($this->filePath));
$httpResponse->setHeader('Content-Transfer-Encoding', 'binary');
$httpResponse->setHeader('Content-Length', filesize($this->filePath));
$httpResponse->setHeader('Content-Disposition', 'attachment; filename="' . basename($this->filePath) . '"');
$httpResponse->setHeader('Access-Control-Allow-Origin', '*');
// Read the file
readfile($this->filePath);
}
示例10: send
/**
* Sends response to output.
* @param Nette\Http\IRequest $httpRequest
* @param Nette\Http\IResponse $httpResponse
* @return void
*/
public function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse)
{
$httpResponse->setContentType($this->contentType);
$httpResponse->setExpiration(FALSE);
$response = array();
$actual_url = $httpRequest->getUrl()->getAbsoluteUrl();
date_default_timezone_set('UTC');
//TODO: -1min
$date = date('YmdHi');
$hmac = hash_hmac('sha512', $actual_url . $date, 'PRIVATE_KEY');
//TODO: na základě public key ($api_key)
if ($this->payload['api_hash'] !== $hmac) {
$response['err_code'] = 10;
$response['err_info'] = $this->errors[10];
}
echo Nette\Utils\Json::encode($this->payload);
}
示例11: send
/**
* Sends response to output.
* @return void
*/
public function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse)
{
$httpResponse->setContentType($this->contentType);
$httpResponse->setExpiration(FALSE);
echo Nette\Utils\Json::encode($this->payload);
}
示例12: send
/**
* Sends response to output.
* @param Nette\Http\IRequest $httpRequest
* @param Nette\Http\IResponse $httpResponse
*/
public function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse)
{
$httpResponse->setContentType('application/hal+json');
$httpResponse->setExpiration(false);
echo $this->json;
}
示例13: send
/**
* @param Http\IRequest $httpRequest
* @param Http\IResponse $httpResponse
*/
public function send(Http\IRequest $httpRequest, Http\IResponse $httpResponse)
{
$httpResponse->setContentType($this->contentType);
$httpResponse->setCode($this->code);
$httpResponse->setExpiration($this->expiration);
$httpResponse->setHeader('Pragma', $this->expiration ? 'cache' : 'no-cache');
$response = Json::encode($this->data);
if (is_callable($this->postProcessor)) {
$response = call_user_func($this->postProcessor, $response);
}
echo $response;
}
示例14: send
/**
* Send headers and outputs PDF document to browser.
* @throws InvalidStateException
*/
public function send(Http\IRequest $httpRequest, Http\IResponse $httpResponse)
{
$this->convert();
$output = fgets($this->pipes[1], 5);
if ($output === '%PDF') {
$httpResponse->setContentType('application/pdf');
if (strpos($httpRequest->getHeader('User-Agent'), 'MSIE') != FALSE) {
$httpResponse->setHeader('Pragma', 'private');
$httpResponse->setHeader('Cache-control', 'private');
$httpResponse->setHeader('Accept-Ranges', 'bytes');
$httpResponse->setExpiration('- 5 years');
}
echo $output;
fpassthru($this->pipes[1]);
}
$this->close();
}
示例15: send
/**
* Sends response to output.
* @return void
*/
public function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse)
{
$lastMTime = \filemtime($this->getFile());
// Pokud je povoleno cachovani, podrzim to po dobu 14ti dnu (nebo dokud se soubor zmeni)
if ($this->isCachingAllowed()) {
$httpResponse->setExpiration(time() + 60 * 60 * 24 * 14);
$cachedTime = $httpRequest->getHeader('If-Modified-Since');
if ($cachedTime >= $lastMTime) {
$httpResponse->setCode(304);
return;
}
}
if (!$this->dontSetContentType) {
$httpResponse->setContentType($this->getContentType());
}
$httpResponse->addHeader("Last-Modified", gmdate("U", $lastMTime));
$httpResponse->setHeader('Content-Disposition', $this->getContentDisposition() . '; filename="' . $this->getName() . '"');
$filesize = $length = filesize($this->getFile());
//$handle = fopen($this->getFile(), 'r');
if (false && $this->resuming) {
$httpResponse->setHeader('Accept-Ranges', 'bytes');
$range = $httpRequest->getHeader('Range');
if ($range !== NULL) {
$range = substr($range, 6);
// 6 == strlen('bytes=')
list($start, $end) = explode('-', $range);
if ($start == NULL) {
$start = 0;
}
if ($end == NULL) {
$end = $filesize - 1;
}
if ($start < 0 || $end <= $start || $end > $filesize - 1) {
$httpResponse->setCode(416);
// requested range not satisfiable
return;
}
$httpResponse->setCode(206);
$httpResponse->setHeader('Content-Range', 'bytes ' . $start . '-' . $end . '/' . $filesize);
$length = $end - $start + 1;
fseek($handle, $start);
} else {
$httpResponse->setHeader('Content-Range', 'bytes 0-' . ($filesize - 1) . '/' . $filesize);
}
}
$httpResponse->setHeader('Content-Length', $length);
readfile($this->getFile());
//while(!feof($handle)) {
// echo fread($handle, 4e6);
//}
//fclose($handle);
}