РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
996 of 1361 menu

Метод cancel класса ClientResponse

Метод cancel класса ClientResponse прерывает выполнение HTTP-запроса, который был инициирован через HttpClient. Если запрос ещё не завершён, он будет отменён, а связанные с ним ресурсы освобождены. Метод не принимает параметров и не возвращает значения. После вызова cancel дальнейшее использование объекта ClientResponse для получения содержимого ответа может привести к исключению.

Синтаксис

$clientResponse->cancel();

Пример

Давайте создадим HTTP-запрос и отменим его до получения ответа:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpClient\HttpClient; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(): Response { $client = HttpClient::create(); $clientResponse = $client->request('GET', 'https://example.com'); $clientResponse->cancel(); return new Response('Request was cancelled'); } } ?>

Результат выполнения кода:

"Request was cancelled"

Пример

Давайте проверим статус запроса после отмены:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpClient\HttpClient; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article/status', name: 'article_status')] public function status(): Response { $client = HttpClient::create(); $clientResponse = $client->request('GET', 'https://example.com'); $clientResponse->cancel(); try { $statusCode = $clientResponse->getStatusCode(); $res = 'Status: ' . $statusCode; } catch (\Throwable $e) { $res = 'Request cancelled: ' . $e->getMessage(); } return new Response($res); } } ?>

Результат выполнения кода:

"Request cancelled: ..."

Смотрите также

  • класс ClientResponse,
    который представляет ответ HTTP-клиента
  • метод getStatusCode,
    который возвращает код состояния ответа
  • метод getContent,
    который возвращает содержимое ответа
  • класс HttpClient,
    который выполняет HTTP-запросы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить