YoastSEO_Vendor\GuzzleHttp
RedirectMiddleware::checkRedirect() public Yoast 1.0
{} Это метод класса: RedirectMiddleware{}
Хуков нет.
Возвращает
ResponseInterface/PromiseInterface.
Использование
$RedirectMiddleware = new RedirectMiddleware(); $RedirectMiddleware->checkRedirect( \YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response );
- $request(Requestчислоerface) (обязательный)
- $options(массив) (обязательный)
- $response(Responseчислоerface/Promiseчислоerface) (обязательный)
Код RedirectMiddleware::checkRedirect() RedirectMiddleware::checkRedirect Yoast 15.6.2
public function checkRedirect(\YoastSEO_Vendor\Psr\Http\Message\RequestInterface $request, array $options, \YoastSEO_Vendor\Psr\Http\Message\ResponseInterface $response)
{
if (\substr($response->getStatusCode(), 0, 1) != '3' || !$response->hasHeader('Location')) {
return $response;
}
$this->guardMax($request, $options);
$nextRequest = $this->modifyRequest($request, $options, $response);
if (isset($options['allow_redirects']['on_redirect'])) {
\call_user_func($options['allow_redirects']['on_redirect'], $request, $response, $nextRequest->getUri());
}
/** @var PromiseInterface|ResponseInterface $promise */
$promise = $this($nextRequest, $options);
// Add headers to be able to track history of redirects.
if (!empty($options['allow_redirects']['track_redirects'])) {
return $this->withTracking($promise, (string) $nextRequest->getUri(), $response->getStatusCode());
}
return $promise;
}