diff --git a/src/future/http/status/HTTPFutureHTTPResponseStatus.php b/src/future/http/status/HTTPFutureHTTPResponseStatus.php --- a/src/future/http/status/HTTPFutureHTTPResponseStatus.php +++ b/src/future/http/status/HTTPFutureHTTPResponseStatus.php @@ -40,12 +40,17 @@ public function isError() { if ($this->expect === null) { - return ($this->getStatusCode() < 200) || ($this->getStatusCode() > 299); + return ($this->getStatusCode() < 200) || ($this->getStatusCode() > 299); } return !in_array($this->getStatusCode(), $this->expect, true); } + public function isRedirect() { + $code = $this->getStatusCode(); + return ($code >= 300 && $code < 400); + } + public function isTimeout() { return false; } diff --git a/src/future/http/status/HTTPFutureResponseStatus.php b/src/future/http/status/HTTPFutureResponseStatus.php --- a/src/future/http/status/HTTPFutureResponseStatus.php +++ b/src/future/http/status/HTTPFutureResponseStatus.php @@ -33,6 +33,10 @@ abstract public function isError(); abstract public function isTimeout(); + public function isRedirect() { + return false; + } + abstract protected function getErrorCodeType($code); abstract protected function getErrorCodeDescription($code);