setContentType() публичный Метод

Sends a Content-type HTTP header.
public setContentType ( $type, $charset = NULL ) : void
Результат void
Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 /**
  * {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);
 }
Пример #3
0
 /**
  * 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;
 }
Пример #4
0
 /**
  * @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;
 }
Пример #5
0
 /**
  * {@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;
 }
Пример #6
0
 /**
  * @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);
 }
Пример #7
0
 /**
  * @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) . ")";
 }
Пример #8
0
 /**
  * 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()) . ');';
 }
Пример #9
0
 /**
  * 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);
 }
Пример #10
0
 /**
  * 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);
 }
Пример #11
0
 /**
  * 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;
 }
Пример #12
0
 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);
     }
 }
Пример #13
0
 /**
  * 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);
 }
Пример #14
0
 /**
  * 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);
 }
Пример #15
0
 /**
  * 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();
     }
 }
Пример #16
0
 /**
  * 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);
 }
Пример #17
0
 /**
  * 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);
     }
 }
Пример #18
0
 /**
  * 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);
 }
Пример #20
0
 /**
  * @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);
 }
Пример #21
0
 /**
  * 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);
 }
Пример #22
0
 /**
  * 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);
 }
Пример #24
0
 /**
  * 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);
 }
Пример #25
0
 /**
  * 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());
 }
Пример #26
0
 /**
  * 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();
 }
Пример #27
0
 /**
  * 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;
 }
Пример #28
0
 /**
  * @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;
 }
Пример #29
0
 /**
  * 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);
 }
Пример #30
0
 /**
  * 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();
 }