Мы добавили новый тип получателя: Direct HTTP.
До сих пор основной процесс выглядел так: Adal принимает входящий вебхук, сохраняет его историю, показывает все сведения о запросе и доставляет его через Adal CLI — например, в локальную среду разработчика.
Теперь появился ещё один вариант: Adal может доставлять вебхуки напрямую на публичный URL без запуска Adal CLI.
Это удобно, когда вебхуки необходимо пересылать:
в продакшен-сервис;
на публично доступный staging- или dev-сервер;
одновременно нескольким публичным получателям;
одновременно в локальную среду через CLI и на внешний сервер через Direct HTTP.
Настройка проста: создайте получателя, выберите Direct HTTP, укажите публичный URL — и Adal будет пересылать входящие вебхуки на этот адрес.
Когда использовать Direct HTTP, а когда — CLI
Используйте Direct HTTP, если получатель доступен из интернета и вы хотите, чтобы Adal доставлял вебхуки напрямую. Это может быть продакшен-сервис, staging-сервер, публичный dev-сервер или внешний сервис, которому требуется копия входящих вебхуков.
Используйте Adal CLI, если получатель находится в локальной сети или недоступен из интернета. Например, когда вы разрабатываете сервис на своём компьютере и хотите получать реальные вебхуки на localhost, внутренний порт или частный адрес.
Эти два способа можно сочетать. Один и тот же входящий вебхук может одновременно доставляться в продакшен через Direct HTTP и в локальную среду разработки через Adal CLI.
Все основные возможности Adal сохраняются: история запросов, статусы и попытки доставки, повторные попытки и полная информация о том, что происходило с каждым вебхуком.
Однако есть одно важное отличие.
При доставке через Direct HTTP Adal использует собственный User-Agent. Он может отличаться от User-Agent, который видит ваш сервис при получении вебхуков через Adal CLI. Это сделано намеренно: прямой запрос должен однозначно определяться как запрос, отправленный через Adal.
Если ваш сервис использует User-Agent для маршрутизации, фильтрации или проверки запросов, убедитесь, что он корректно обрабатывает User-Agent, используемый Direct HTTP.
Как и прежде, к одному серверу можно подключить нескольких получателей. Например, один входящий вебхук может одновременно доставляться в продакшен, staging-среду и локальную среду разработки.
Direct HTTP делает Adal полезным не только для локальной разработки, но и для более широких сценариев доставки, тестирования и мониторинга вебхуков.
Никакой скрытой магии: входящий запрос принимается, для него создаётся доставка, каждая попытка записывается, а её статус отображается в панели управления.