Amp\Artax\Client::getRedirectUri PHP Method

getRedirectUri() private method

private getRedirectUri ( RequestCycle $cycle )
$cycle RequestCycle
    private function getRedirectUri(RequestCycle $cycle)
    {
        $request = $cycle->request;
        $response = $cycle->response;
        if (!$cycle->options[self::OP_FOLLOW_LOCATION]) {
            return null;
        }
        if (!$response->hasHeader('Location')) {
            return null;
        }
        $status = $response->getStatus();
        $method = $request->getMethod();
        if ($status < 300 || $status > 399 || $method === 'HEAD') {
            return null;
        }
        $requestUri = new Uri($request->getUri());
        $redirectLocation = current($response->getHeader('Location'));
        if (!$requestUri->canResolve($redirectLocation)) {
            return null;
        }
        $newUri = $requestUri->resolve($redirectLocation);
        $cycle->redirectHistory[] = $request->getUri();
        return $newUri;
    }