Amp\Artax\Uri::canResolve PHP Метод

canResolve() публичный Метод

Is the specified URI string resolvable against the current URI instance?
public canResolve ( $toResolve )
    public function canResolve($toResolve)
    {
        if (!(is_string($toResolve) || method_exists($toResolve, '__toString'))) {
            return false;
        }
        try {
            new Uri($toResolve);
        } catch (\DomainException $e) {
            return false;
        }
        return true;
    }

Usage Example

Пример #1
0
 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 < 200 || $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;
 }