$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: У меня не получилось подключиться к радиостанции. Попробуйте ещё раз.