Sends a Content-type HTTP header.
public setContentType ( $type, $charset = NULL ) : void | ||
리턴 | void |
/** * Sends response to output. * @return void */ public function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse) { if ($this->charset !== null) { $httpResponse->setContentType($this->contentType); $httpResponse->setContentType($this->contentType . ';charset=' . $this->charset); } else { $httpResponse->setContentType($this->contentType); } $httpResponse->setHeader('Content-Disposition', 'attachment; filename="' . $this->name . '"'); $length = strlen($this->data); $httpResponse->setHeader('Content-Length', $length); echo $this->data; }
/** * {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); }
/** * Sends response to output. * @return void */ public function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse) { $httpResponse->setContentType($this->contentType); $httpResponse->setHeader('Content-Disposition', ($this->forceDownload ? 'attachment' : 'inline') . '; filename="' . $this->name . '"' . '; filename*=utf-8\'\'' . rawurlencode($this->name)); $length = strlen($this->data); /* if ($this->resuming) { $httpResponse->setHeader('Accept-Ranges', 'bytes'); if (preg_match('#^bytes=(\d*)-(\d*)\z#', $httpRequest->getHeader('Range'), $matches)) { list(, $start, $end) = $matches; if ($start === '') { $start = max(0, $filesize - $end); $end = $filesize - 1; } elseif ($end === '' || $end > $filesize - 1) { $end = $filesize - 1; } if ($end < $start) { $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); echo $this->data; }
/** * @param Nette\Http\IRequest $httpRequest * @param Nette\Http\IResponse $httpResponse */ function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse) { $response = $this->getResponse(); $httpResponse->setCode(200); $httpResponse->setContentType('text/plain'); $httpResponse->setHeader('Content-Length', strlen($response)); echo $response; }
/** * {@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; }
/** * @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); }
/** * @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) . ")"; }
/** * Send JSONP response to output * @param IRequest $httpRequest * @param IResponse $httpResponse * @throws \Drahak\Restful\InvalidArgumentException */ public function send(IRequest $httpRequest, IResponse $httpResponse) { $httpResponse->setContentType($this->contentType ? $this->contentType : 'application/javascript', 'UTF-8'); $data = array(); $data['response'] = $this->data; $data['status'] = $httpResponse->getCode(); $data['headers'] = $httpResponse->getHeaders(); $callback = $httpRequest->getQuery('jsonp') ? Strings::webalize($httpRequest->getQuery('jsonp'), NULL, FALSE) : ''; echo $callback . '(' . $this->mapper->stringify($data, $this->isPrettyPrint()) . ');'; }
/** * 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); }
/** * Sends response to output. * @param Nette\Http\IRequest $httpRequest * @param Nette\Http\IResponse $httpResponse */ function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse) { $httpResponse->setContentType('application/pdf'); $httpResponse->setHeader('Content-Disposition', 'inline; filename="' . basename($this->filePath) . '"'); $httpResponse->setHeader('Content-Description', 'File Transfer'); $httpResponse->setHeader('Connection', 'Keep-Alive'); $httpResponse->setHeader('Expires', '0'); $httpResponse->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0'); $httpResponse->setHeader('Pragma', 'public'); $httpResponse->setHeader('Content-Length', filesize($this->filePath)); readfile($this->filePath); }
/** * 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; }
function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse) { if ($this->isAmfRequest($httpRequest)) { $httpResponse->setContentType('application/x-amf'); $this->manager->sendResponse(); } else { $responses = $this->manager->getResponses(); if (count($responses) === 1) { $responses = array_shift($responses); } $response = new Nette\Application\Responses\JsonResponse($responses); $response->send($httpRequest, $httpResponse); } }
/** * 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); }
/** * 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); }
/** * 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) { /** * Disable tracy bar */ if (class_exists('\\Tracy\\Debugger') && property_exists('\\Tracy\\Debugger', 'productionMode')) { \Tracy\Debugger::$productionMode = TRUE; } /** * Set Content-Type header */ $httpResponse->setContentType($this->contentType, $this->output_encoding); /** * Set Content-Disposition header */ $httpResponse->setHeader('Content-Disposition', 'attachment' . '; filename="' . $this->name . '"'); /*. '; filename*=' . $this->output_encoding . '\'\'' . rawurlencode($this->name));*/ /** * Set other headers */ foreach ($this->headers as $key => $value) { $httpResponse->setHeader($key, $value); } if (function_exists('ob_start')) { ob_start(); } /** * Output data */ if ($this->include_bom && strtolower($this->output_encoding) == 'utf-8') { echo ""; } $delimiter = '"' . $this->delimiter . '"'; foreach ($this->data as $row) { if (strtolower($this->output_encoding) == 'utf-8') { echo '"' . implode($delimiter, (array) $row) . '"'; } else { echo iconv('UTF-8', $this->output_encoding, '"' . implode($delimiter, (array) $row) . '"'); } echo "\r\n"; } if (function_exists('ob_end_flush')) { ob_end_flush(); } }
/** * Send error to image * * @param \Nette\Http\IResponse $response * @param string|\Exception $error */ private function sendError(HttpResponse $response, $error, $width, $height) { $response->setCode(HttpResponse::S500_INTERNAL_SERVER_ERROR); $response->setContentType('image/gif'); if (!$error instanceof \Exception) { $response->setHeader('X-Imager-Error-Message', $error); } else { $response->setHeader('X-Imager-Error-Message', get_class($error) . ': ' . $error->getMessage()); // detailed information only in debug mode if ($this->factory->getDebugger()) { $response->setHeader('X-Imager-Error-File', $error->getFile() . ' (' . $error->getLine() . ')'); $trace = $error->getTraceAsString(); $trace = Strings::replace($trace, '~[\\n|\\n\\r]~', '>>>'); $response->setHeader('X-Imager-Error-Trace', $trace); } } $this->factory->sendErrorImage($width, $height); }
/** * Sends response to output. * @return void */ public function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse) { $httpResponse->setContentType($this->contentType); $httpResponse->setHeader('Content-Disposition', ($this->forceDownload ? 'attachment' : 'inline') . '; filename="' . $this->name . '"'); $output = NULL; if ($this->precalculateFileSize) { ob_start(); Nette\Utils\Callback::invokeArgs($this->outputGenerator); $output = ob_get_clean(); $filesize = $length = strlen($output); } if ($this->resuming && $this->precalculateFileSize) { $httpResponse->setHeader('Accept-Ranges', 'bytes'); if (preg_match('#^bytes=(\\d*)-(\\d*)\\z#', $httpRequest->getHeader('Range'), $matches)) { list(, $start, $end) = $matches; if ($start === '') { $start = max(0, $filesize - $end); $end = $filesize - 1; } elseif ($end === '' || $end > $filesize - 1) { $end = $filesize - 1; } if ($end < $start) { $httpResponse->setCode(416); // requested range not satisfiable return; } $httpResponse->setCode(206); $httpResponse->setHeader('Content-Range', 'bytes ' . $start . '-' . $end . '/' . $filesize); $length = $end - $start + 1; } else { $httpResponse->setHeader('Content-Range', 'bytes 0-' . ($filesize - 1) . '/' . $filesize); } } if ($this->precalculateFileSize) { $httpResponse->setHeader('Content-Length', $length); } if (isset($start)) { echo substr($output, $start, $length); } elseif (isset($output)) { echo $output; } else { Nette\Utils\Callback::invoke($this->outputGenerator); } }
/** * Sends response to output. * @return void */ public function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse) { $httpResponse->setContentType($this->contentType); $httpResponse->setHeader('Content-Disposition', 'attachment; filename="' . $this->name . '"'); $filesize = $length = filesize($this->file); $handle = fopen($this->file, 'r'); if ($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); while (!feof($handle)) { echo fread($handle, 4000000.0); } fclose($handle); }
/** * Sends response to output. * * @return void */ public function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse) { $httpResponse->setContentType($this->contentType); $httpResponse->setHeader('Content-Disposition', 'attachment; filename="' . $this->name . '"'); $filesize = $length = filesize($this->file); $handle = fopen($this->file, 'r'); if ($this->resuming) { $httpResponse->setHeader('Accept-Ranges', 'bytes'); if (preg_match('#^bytes=(\\d*)-(\\d*)$#', $httpRequest->getHeader('Range'), $matches)) { list(, $start, $end) = $matches; if ($start === '') { $start = max(0, $filesize - $end); $end = $filesize - 1; } elseif ($end === '' || $end > $filesize - 1) { $end = $filesize - 1; } if ($end <= $start) { $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); while (!feof($handle) && $length > 0) { echo $s = fread($handle, min(4000000.0, $length)); $length -= strlen($s); } fclose($handle); }
/** * @param IRequest $request * @param IResponse $response * @return void */ public function send(IRequest $request, IResponse $response) { $response->setContentType($this->contentType); $response->setHeader('Content-Disposition', ($this->forceDownload ? 'attachment' : 'inline') . '; filename="' . $this->filename . '"' . '; filename*=utf-8\'\'' . rawurlencode($this->filename)); $this->adapter->send($request, $response); }
/** * 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); }
/** * 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; }
/** * Sends response to output. * * @param Http\IRequest $httpRequest * @param Http\IResponse $httpResponse * @throws \Nette\Utils\JsonException */ public function send(Http\IRequest $httpRequest, Http\IResponse $httpResponse) { $httpResponse->setContentType($this->contentType); echo Json::encode($this->payload); }
/** * Sends response to output. * * @param \Nette\Http\IRequest $httpRequest HTTP request * @param \Nette\Http\IResponse $httpResponse HTTP response * * @throws \Nette\Application\BadRequestException * @return void */ public function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse) { $httpResponse->setContentType($this->storageFile->contentType ?: 'application/octet-stream'); $httpResponse->setHeader('Content-Disposition', 'attachment; filename="' . $this->storageFile->publicName . '"'); $this->sendStorageFile($this->storageFile, $httpRequest, $httpResponse); }
/** * Sends response to output * @param Http\IRequest $httpRequest * @param Http\IResponse $httpResponse */ public function send(Http\IRequest $httpRequest, Http\IResponse $httpResponse) { $httpResponse->setContentType($this->contentType ? $this->contentType : 'text/plain', 'UTF-8'); echo $this->mapper->stringify($this->data, $this->isPrettyPrint()); }
/** * 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(); }
/** * Clears all http headers * @param IResponse $res * @return IResponse */ static function clearHeaders(IResponse $res, $setContentType = false) { $res->setCode(IResponse::S200_OK); foreach ($res->getHeaders() as $key => $val) { $res->setHeader($key, null); } if ($setContentType === true) { $res->setContentType("text/html", "UTF-8"); } return $res; }
/** * @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; }
/** * 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); }
/** * Sends response to output. * @return void */ function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse) { $httpResponse->setContentType('text/xml', 'UTF-8'); echo $this->document->saveXML(); }