Курс языка программирования Raku / Функциональное, конкурентное, реактивное и веб-программирование / Веб-программирование / Основы Cro / Exercises / Статус через клиент

Решение: Статус через клиент

Вот один из возможных вариантов решения задачи.

Код

use Cro::HTTP::Client;

my $response = await Cro::HTTP::Client.get('http://example.com/');
say $response.status;

🦋 Исходный код можно найти в файле status-line.raku.

Вывод

200

Комментарии

  1. Cro::HTTP::Client.get возвращает промис — сетевой запрос завершается позже, — поэтому его дожидаются через await.

  2. Объект ответа уже знает свой .status, поэтому мы сразу получаем 200, не отправляя текст запроса и не разбирая ответ вручную. Сравните это с вариантом на «сыром» сокете: модуль делает всю протокольную работу за вас.

Навигация по курсу

Статус через клиент   |   Финальный тест