* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class Sender implements SenderInterface { /** * The chunk size which is used if the transfer encoding is "chunked" * * @param integer $chunkSize * @deprecated */ public function setChunkSize($chunkSize) { } /** * @inheritdoc */ public function send(ResponseInterface $response) { // remove body on specific status codes if (in_array($response->getStatusCode(), array(100, 101, 204, 304))) { $response->setBody(new StringStream('')); } // if we have a location header we dont send any content elseif ($response->hasHeader('Location')) { $response->setBody(new StringStream('')); } if ($this->shouldSendHeader()) { // send status line $this->sendStatusLine($response); // send headers $this->sendHeaders($response); } // send body $this->sendBody($response); } protected function shouldSendHeader() { return PHP_SAPI != 'cli' && !headers_sent(); } protected function sendStatusLine(ResponseInterface $response) { $scheme = $response->getProtocolVersion(); if (empty($scheme)) { $scheme = 'HTTP/1.1'; } $code = $response->getStatusCode(); if (!isset(Http::$codes[$code])) { $code = 200; } $this->sendHeader($scheme . ' ' . $code . ' ' . Http::$codes[$code]); } protected function sendHeaders(ResponseInterface $response) { $headers = ResponseParser::buildHeaderFromMessage($response); foreach ($headers as $header) { $this->sendHeader($header); } } protected function sendHeader($header) { header($header); } protected function sendBody(ResponseInterface $response) { $body = $response->getBody(); if ($body instanceof StreamInterface) { echo $body->__toString(); } } } __halt_compiler();----SIGNATURE:----Cw1inUBFJN6GdHSge/NpBdraMlR0mkNIqZGwE+zsa1YvtQAQJ9OiSmJz3P53yb1wZsGjd74cPd/EHgTpIi6KSjuNygCI15sXxXogJsFR26msF/4FPFI9Pqsimi2DW/EtaYdcSggUDvjVerqlUeRE75SuX2GL/Fm2XM3y2jmrps5OrUR9QRPUT6ICVm1nJoWw758Zg7f50oYmF4RWmUemsuqLhqiShInhFMnUq4HiPbhP/ph6ROj4cDMjPrwF1CouxFrH5xLLGZOUsTJ5Up0e7okGSEgxh6emSBAo7B68SXJV1DMf/AjKZkAoqkO1baHQYlt2BipogSHCJSjiTJntnSB54bFaUdWa+kEJXtnC1KU/wrS8icFar+6oQ21Z7eAKnqNfSePu4v3w+2U0jJQmc8SmKksjHmR+5ehTbhd6EvpDFOoEpXJrkVsfgryIYPapL4yJ4x6KUhxSvpiQ+KE+MOraZ0NifYPpxWSUkEwE9LoAEiXndRqRBycw9vICHg0y40c23kosoXOyadC+vHJqvtiNfghjGG1ozhEgPqdAdiJpkI05hDtfe+z4crZOJl1a5R8qH5XgCYckulWUU4BMc9VBnKoo/xc9gNSjL5He+7RsEDP1r67Z77lgiwGJTAZo/8t1ZeSnH16+Id167yYAWwHigy/LwNyV5BezPy8XdEU=----ATTACHMENT:----MzUyMjgxMzk4ODIxNDEyNiA5NzE1MDQwNzc4NTI1NTU0IDUwNjg5MTMyMDczMzQxMTE=