Page MenuHomePhorge

No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None
diff --git a/lib/Kolab/Utils/HTTPResponse.php b/lib/Kolab/Utils/HTTPResponse.php
index 7fefcba..0c98576 100644
--- a/lib/Kolab/Utils/HTTPResponse.php
+++ b/lib/Kolab/Utils/HTTPResponse.php
@@ -1,93 +1,51 @@
<?php
/**
* Utility class representing a HTTP response with logging capabilities
*
* @author Thomas Bruederli <bruederli@kolabsys.com>
*
* Copyright (C) 2013, Kolab Systems AG <contact@kolabsys.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
namespace Kolab\Utils;
/**
* This class represents a HTTP response.
*/
class HTTPResponse extends \Sabre\HTTP\Response
{
- protected $status;
- protected $body = '';
- protected $_headers = array();
-
- /**
- * Sends an HTTP status header to the client.
- *
- * @param int $code HTTP status code
- * @return bool
- */
- public function sendStatus($code)
- {
- $this->status = $this->getStatusMessage($code, $this->defaultHttpVersion);
- return parent::sendStatus($code);
- }
-
- /**
- * Sets an HTTP header for the response
- *
- * @param string $name
- * @param string $value
- * @param bool $replace
- * @return bool
- */
- public function setHeader($name, $value, $replace = true)
- {
- $this->_headers[$name] = $value;
- return parent::setHeader($name, $value, $replace);
- }
-
- /**
- * Sends the entire response body
- *
- * This method can accept either an open filestream, or a string.
- *
- * @param mixed $body
- * @return void
- */
- public function sendBody($body)
- {
- if (is_resource($body)) {
- fpassthru($body);
- $this->body = '[binary data]';
- }
- else {
- echo $body;
- $this->body .= $body;
- }
- }
-
/**
* Dump the response data for logging
*/
public function dump()
{
$result_headers = '';
- foreach ($this->_headers as $hdr => $value) {
- $result_headers .= "\n$hdr: " . $value;
+ foreach ($this->headers as $hdr => $value) {
+ $result_headers .= "\n$value[0]: " . $this->getHeader($hdr);
+ }
+
+ $body = $this->body;
+
+ // get response body as string for text/* data
+ if (is_resource($this->body) && strpos($this->getHeader('content-type'), 'text/') === 0) {
+ @fseek($this->body, 0);
+ $body = stream_get_contents($this->body);
}
- return $this->status . $result_headers . "\n\n" . $this->body;
+ return $this->status . " " . $this->statusText . $result_headers . "\n\n" . $body;
}
}
\ No newline at end of file

File Metadata

Mime Type
text/x-diff
Expires
Sat, Jan 31, 12:40 PM (1 d, 2 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
426309
Default Alt Text
(3 KB)

Event Timeline