%PDF- %PDF-
Direktori : /www/old2/_music/diplomka/diplomka/src/API/libs/Nette/Application/Responses/ |
Current File : /www/old2/_music/diplomka/diplomka/src/API/libs/Nette/Application/Responses/JsonResponse.php |
<?php /** * This file is part of the Nette Framework (http://nette.org) * * Copyright (c) 2004 David Grudl (http://davidgrudl.com) * * For the full copyright and license information, please view * the file license.txt that was distributed with this source code. */ namespace Nette\Application\Responses; use Nette; /** * JSON response used mainly for AJAX requests. * * @author David Grudl * * @property-read array|\stdClass $payload * @property-read string $contentType */ class JsonResponse extends Nette\Object implements Nette\Application\IResponse { /** @var array|\stdClass */ private $payload; /** @var string */ private $contentType; /** * @param array|\stdClass payload * @param string MIME content type */ public function __construct($payload, $contentType = NULL) { if (!is_array($payload) && !is_object($payload)) { throw new Nette\InvalidArgumentException("Payload must be array or object class, " . gettype($payload) . " given."); } $this->payload = $payload; $this->contentType = $contentType ? $contentType : 'application/json'; } /** * @return array|\stdClass */ final public function getPayload() { return $this->payload; } /** * Returns the MIME content type of a downloaded file. * @return string */ final public function getContentType() { return $this->contentType; } /** * 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); } }