X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;f=vendor%2Fzendframework%2Fzend-diactoros%2Fsrc%2FResponse.php;fp=vendor%2Fzendframework%2Fzend-diactoros%2Fsrc%2FResponse.php;h=17cae64e556798d141d7007ae2cc87f151eac33f;hb=0bf8d09d2542548982e81a441b1f16e75873a04f;hp=24aeb4e6b7dd33b5b8f1cb001d65496bca5c883e;hpb=74df008bdbb3a11eeea356744f39b802369bda3c;p=yaffs-website diff --git a/vendor/zendframework/zend-diactoros/src/Response.php b/vendor/zendframework/zend-diactoros/src/Response.php index 24aeb4e6b..17cae64e5 100644 --- a/vendor/zendframework/zend-diactoros/src/Response.php +++ b/vendor/zendframework/zend-diactoros/src/Response.php @@ -1,7 +1,7 @@ 'Unprocessable Entity', 423 => 'Locked', 424 => 'Failed Dependency', - 425 => 'Unordered Collection', + 425 => 'Too Early', 426 => 'Upgrade Required', 428 => 'Precondition Required', 429 => 'Too Many Requests', @@ -107,7 +113,7 @@ class Response implements ResponseInterface /** * @var string */ - private $reasonPhrase = ''; + private $reasonPhrase; /** * @var int @@ -140,12 +146,6 @@ class Response implements ResponseInterface */ public function getReasonPhrase() { - if (! $this->reasonPhrase - && isset($this->phrases[$this->statusCode]) - ) { - $this->reasonPhrase = $this->phrases[$this->statusCode]; - } - return $this->reasonPhrase; } @@ -155,8 +155,7 @@ class Response implements ResponseInterface public function withStatus($code, $reasonPhrase = '') { $new = clone $this; - $new->setStatusCode($code); - $new->reasonPhrase = $reasonPhrase; + $new->setStatusCode($code, $reasonPhrase); return $new; } @@ -164,9 +163,10 @@ class Response implements ResponseInterface * Set a valid status code. * * @param int $code + * @param string $reasonPhrase * @throws InvalidArgumentException on an invalid status code. */ - private function setStatusCode($code) + private function setStatusCode($code, $reasonPhrase = '') { if (! is_numeric($code) || is_float($code) @@ -175,11 +175,24 @@ class Response implements ResponseInterface ) { throw new InvalidArgumentException(sprintf( 'Invalid status code "%s"; must be an integer between %d and %d, inclusive', - (is_scalar($code) ? $code : gettype($code)), + is_scalar($code) ? $code : gettype($code), static::MIN_STATUS_CODE_VALUE, static::MAX_STATUS_CODE_VALUE )); } - $this->statusCode = $code; + + if (! is_string($reasonPhrase)) { + throw new InvalidArgumentException(sprintf( + 'Unsupported response reason phrase; must be a string, received %s', + is_object($reasonPhrase) ? get_class($reasonPhrase) : gettype($reasonPhrase) + )); + } + + if ($reasonPhrase === '' && isset($this->phrases[$code])) { + $reasonPhrase = $this->phrases[$code]; + } + + $this->reasonPhrase = $reasonPhrase; + $this->statusCode = (int) $code; } }