Adjust HTTPResponse::getVersion() to match PSR-7 Method signature

This commit is contained in:
Damian Mooyman 2018-06-14 11:04:07 +12:00
parent 015b897d82
commit b7e54bad24
No known key found for this signature in database
GPG Key ID: 78B823A10DE27D1A
2 changed files with 17 additions and 13 deletions

View File

@ -79,7 +79,7 @@ class HTTPResponse
/** /**
* @var string * @var string
*/ */
protected $version = '1.0'; protected $protocolVersion = '1.0';
/** /**
* @var int * @var int
@ -113,31 +113,34 @@ class HTTPResponse
* @param int $statusCode The numeric status code - 200, 404, etc * @param int $statusCode The numeric status code - 200, 404, etc
* @param string $statusDescription The text to be given alongside the status code. * @param string $statusDescription The text to be given alongside the status code.
* See {@link setStatusCode()} for more information. * See {@link setStatusCode()} for more information.
* @param string $protocolVersion
*/ */
public function __construct($body = null, $statusCode = null, $statusDescription = null, $version = null) public function __construct($body = null, $statusCode = null, $statusDescription = null, $protocolVersion = null)
{ {
$this->setBody($body); $this->setBody($body);
if ($statusCode) { if ($statusCode) {
$this->setStatusCode($statusCode, $statusDescription); $this->setStatusCode($statusCode, $statusDescription);
} }
if (!$version) { if (!$protocolVersion) {
if (preg_match('/HTTP\/(\d+(\.\d+)?)/i', $_SERVER['SERVER_PROTOCOL'], $matches)) { if (preg_match('/HTTP\/(?<version>\d+(\.\d+)?)/i', $_SERVER['SERVER_PROTOCOL'], $matches)) {
$version = $matches[1]; $protocolVersion = $matches['version'];
} }
} }
$this->setVersion($version); if ($protocolVersion) {
$this->setProtocolVersion($protocolVersion);
}
} }
/** /**
* The HTTP version used to respond to this request (typically 1.0 or 1.1) * The HTTP version used to respond to this request (typically 1.0 or 1.1)
* *
* @param string $version * @param string $protocolVersion
* *
* @return $this * @return $this
*/ */
public function setVersion($version) public function setProtocolVersion($protocolVersion)
{ {
$this->version = $version; $this->protocolVersion = $protocolVersion;
return $this; return $this;
} }
@ -183,9 +186,9 @@ class HTTPResponse
/** /**
* @return string * @return string
*/ */
public function getVersion() public function getProtocolVersion()
{ {
return $this->version; return $this->protocolVersion;
} }
/** /**
@ -433,7 +436,7 @@ EOT
} }
} }
return return
sprintf('HTTP/%s %s %s', $this->getVersion(), $this->getStatusCode(), $this->getStatusDescription()) . "\r\n" . sprintf('HTTP/%s %s %s', $this->getProtocolVersion(), $this->getStatusCode(), $this->getStatusDescription()) . "\r\n" .
implode("\r\n", $headers) . "\r\n" . "\r\n" . implode("\r\n", $headers) . "\r\n" . "\r\n" .
$this->getBody(); $this->getBody();
} }

View File

@ -60,7 +60,8 @@ class ETagMiddleware implements HTTPMiddleware
protected function generateETag(HTTPResponse $response) protected function generateETag(HTTPResponse $response)
{ {
// Existing e-tag // Existing e-tag
if ($etag = $response->getHeader('ETag')) { $etag = $response->getHeader('ETag');
if ($etag) {
return $etag; return $etag;
} }