Курс языка программирования Raku / Функциональное, конкурентное, реактивное и веб-программирование / Веб-программирование / Основы Cro / Exercises / Статус через клиент
Решение: Статус через клиент
Вот один из возможных вариантов решения задачи.
Код
use Cro::HTTP::Client;
my $response = await Cro::HTTP::Client.get('http://example.com/');
say $response.status;🦋 Исходный код можно найти в файле status-line.raku.
Вывод
200Комментарии
Cro::HTTP::Client.getвозвращает промис — сетевой запрос завершается позже, — поэтому его дожидаются черезawait.Объект ответа уже знает свой
.status, поэтому мы сразу получаем200, не отправляя текст запроса и не разбирая ответ вручную. Сравните это с вариантом на «сыром» сокете: модуль делает всю протокольную работу за вас.