/** * 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()) . ');'; }
/** * 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; }