Перейти к основному содержимому

$http.check

Метод проверяет, что HTTP-запрос к одному из внешних URL возвращает статус 200 OK.

Синтаксис

Метод принимает два аргумента.

АргументТипОписание
methodСтрокаHTTP-метод запроса. Лучше всего использовать метод GET или HEAD.
urlsМассив строкВнешние URL, которые нужно проверить.
$http.check("HEAD", ["https://example.com", "https://mirror.example.org"]);

Метод возвращает массив с одним элементом — первым URL, который вернул статус 200 OK. Если ни один из них не вернул статус 200 OK, метод возвращает [null].

к сведению

Также существует метод $http.checkUrls. Он принимает те же аргументы, что и $http.check, но возвращает массив со всеми URL, которые вернули статус 200 OK.

Пример использования

Метод полезно использовать, например, для интеграции в бота стриминговых аудиосервисов. В конфигурации можно указать основной URL сервиса и его зеркал, а для стриминга использовать первый доступный.

init:
$global.STREAM_URLS = [
"https://example.com/rock-128.mp3",
"https://example.org:13000/rock-128.mp3",
"https://mirror.example.org:8000/rock-128.mp3"
];

theme: /

state: PlayRadio
q!: * включи радио *
script:
$temp.urls = $http.check("GET", $global.STREAM_URLS);
if: typeof $temp.urls[0] === "string"
audio: {{ $temp.urls[0] }}
else:
a: У меня не получилось подключиться к радиостанции. Попробуйте ещё раз.