protected function _renderResponse(Mage_Core_Controller_Response_Http $response, $data, $httpCode) { try { $content = Mage::helper('core')->jsonEncode($data); $response->setBody($content); $response->setHttpResponseCode($httpCode); } catch (Exception $e) { Mage::logException($e); $response->setBody('Undefined error'); $response->setHttpResponseCode(500); } }
/** * Fetches and outputs file to user browser * $info is array with following indexes: * - 'path' - full file path * - 'type' - mime type of file * - 'size' - size of file * - 'title' - user-friendly name of file (usually - original name as uploaded in Magento) * * @param Mage_Core_Controller_Response_Http $response * @param string $filePath * @param array $info * @return bool */ public function downloadFileOption($response, $filePath, $info) { try { $response->setHttpResponseCode(200)->setHeader('Pragma', 'public', true)->setHeader('Cache-Control', 'must-revalidate, post-check=0, pre-check=0', true)->setHeader('Content-type', $info['type'], true)->setHeader('Content-Length', $info['size'])->setHeader('Content-Disposition', 'inline' . '; filename=' . $info['title'])->clearBody(); $response->sendHeaders(); readfile($filePath); } catch (Exception $e) { return false; } return true; }
protected function _send(Mage_Core_Controller_Response_Http $response, $data, $responseCode = 200) { $response->clearHeader('Location')->setHeader('Content-Type', 'application/json', true); $response->setHttpResponseCode($responseCode); $response->setBody(json_encode($data)); }