В оформлении Предыдущая статья Мы смотрели на практику отладки веб-капонов. Мы освещали, почему важно отладить наши веб-капли, почему WebHooks может быть трудно отлаживать, как узнать, что для отладки, и инструменты, которые могут помочь облегчить процесс отладки. В этом посту мы поставим теорию отладки веб-каучуков на практику, получая веб-вики локально из A Полоса Учет и отладка их с помощью Cli Hookdeck.
К концу этого упражнения вы будете хорошо оснащены для отладки веб-капусов в ваших рабочих процессах развития.
Учебное пособие по WebHook: отладки полосой веб-капонов локально
В этом руководстве мы пройдем, как локально получать и отлаживать Полоса веб-кауки. В конце этого руководства у нас будет установка, которая принимает полосовые окна локально и дает нам видимость в заголовки и полезную нагрузку каждой запроса на веб -ook.
Настройка полосных веб-капонов
Первый шаг в этом упражнении состоит в том, чтобы настроить счет на полоску. Полоса — провайдер веб -ook, поэтому мы будем подписываться на мероприятия по полоску и получать веб-вики на локальном сервере.
В то время я пишу это, все, что вам нужно для настройки учетной записи Slipe — ваш адрес электронной почты. Если у вас уже есть учетная запись полоса, вы можете перейти к следующему разделу, но если нет, отправляйтесь на Страница регистрации полосы настроить новую учетную запись. Вы должны будете проверить свой адрес электронной почты после регистрации.
Клонирование проекта API Node.js
Далее нам нужен локальный сервер для получения веб-кауков с полосой. Вы можете использовать любой локальный сервер вашего выбора, написанный на вашем предпочтительном языке, если вы убедитесь, что он работает на определенном порту. Для этого упражнения мы будем использовать Node.js Образец API доступен на репозитории GitHub Hookdeck.
Вы можете клонировать этот репозиторий, запустив следующую команду:
git clone https://github.com/hookdeck/nodejs-webhook-server-example.git
Это сделает проект доступным в месте, где вы запустите команду в вашей файловой системе.
Перейдите к корню проекта и установите необходимые зависимости, выполняя следующие команды:
cd nodejs-webhook-server-example npm install
Когда установка завершается, вы можете выполнить сервер Node.js со следующей командой:
npm start
Это загрузит приложение API и напечатает сообщение на экран, указывающий, что API теперь работает и прослушивает подключения к порту 1337
Отказ
Конечная точка для использования для запросов веб -ook — /Slipe-WebHooks-endPoint
и можно найти в Marross.js
файл, как показано ниже:
router.post("/stripe-webhooks-endpoint", bodyParser.raw({type: 'application/json'}), function(req, res) { console.log(req.body); res.send("Stripe Successfully received Webhook request"); });
Эта конечная точка получает запросы WebHook, распечатывает тело запроса на консоль и возвращает сообщение.
Получение веб-качников на localhost
Для того, чтобы отладить веб-капли локально, нам нужно иметь возможность получать веб-капли в нашей местной среде. Это невозможно из коробки, поскольку локальные рабочие серверы не публично доступны в Интернете. Поэтому мы будем использовать один из инструментов, упомянутых в нашем Руководство по отладке для достижения этой цели. Hookdeck CLI Будет использоваться, потому что он построен специально для отладки веб-капучков, в отличие от других, которые должны быть настроены, а иногда в сочетании с другими инструментами, для работы с веб-кавками.
Посещение Hookdeck’s CLI Документация Чтобы установить и настроить инструмент в операционной системе.
Как только процесс установки завершен, следующим шагом является использование CLI для создания URL-адреса веб -ook, который указывает на приложение для работы API. Для этого запустите следующую команду:
hookdeck listen 1337
Эта команда запускает интерактивный сеанс, где CLI собирает информацию о конечной точке, которую вы собираетесь создавать. Ниже приведены вопросы и ответы, которые вы должны предоставить каждому вопросу. Убедитесь, что поражать Введите
ключ после каждого ответа.
- Какой источник вы должны выбрать? АНС: Выберите Создать новый источник
- Что должен быть ваш новый источник? АНС: Введите текст полоса
- Какой путь должен быть перенаправлен в Интернет (I.E:/WebHooks) ? АНС: Тип /Slipe-WebHooks-конечная точка
- Какая метка подключения (т.е.: My API)? АНС: Тип Моя полоса API
С помощью этой информации CLI начнет процесс создания URL-адреса и после этого он сделает, вы увидите, что URL-адрес напечатаны на экране и CLI, указывающие, что он готов к приему запросов.
Скопируйте URL-адрес веб -ook, так как его потребуется для настройки веб-капусов на полосою.
Теперь, когда мы завершили настройку по приложению назначения, пришло время подписаться на веб -ook на полосою.
На вашей панели инструментов, перейдите к разработчикам → WebHooks. На странице «WebHooks» нажмите на + Добавить конечную точку
**** кнопка в верхней правой части экрана. Это действие появится на диалоговом окне, аналогично следующему:
В диалоговом окне добавьте URL-адрес веб -ook, скопированные с CLI в Конечная точка URL
поле. Далее нажмите События для отправки
выпадать и выберите Account.Updated
Событие, которое будет срабатывать каждый раз, когда ваш счет на полоску обновляется. Нажмите на Добавить конечную точку
Кнопка для завершения этого процесса.
Это создаст соединение между вашим учетной записью STRIPE и приложением API, работающим на вашем локальном компьютере для Account.Updated
мероприятие. После того, как WebHook был успешно добавлен, вы увидите экран, похожий на один ниже:
С нашим подключением WebHook настроено, теперь пришло время проверить его. STRIPE предоставляет возможность отправить тестовое окно, которое имитирует событие, для которого вы зарегистрировали. Это очень удобно для целей тестирования и отладки.
На верхнем правом углу вашего экрана веб -ook (показано выше), нажмите на Отправить тест веб -ook
кнопка. Это будет открывать диалог для вас, чтобы выбрать событие, для которого вы хотите отправить тест. Смотрите диалог ниже:
Убедитесь, что вы выбираете Account.Updated
событие и нажмите на Отправить тест веб -ook
кнопка. Это позволит запустить запрос веб -ook на ваш URL-адрес веб -ook, который будет получен на конечной точке, который вы указали при создании URL-адреса (I.E. /Slipe-WebHooks-endPoint
).
Соблюдайте окно терминала, где вы управляете Hookdeck Слушать 1337
команда. Вы увидите запрос на веб -ook, напечатанный к терминалу, как показано ниже:
Сейчас мы успешно получаем наши полосовые окна локально.
Осмотрите заголовки веб -ook
Последний элемент в информации, напечатанном на CLI для принятого веб -ook, является конечной точкой для вас, чтобы просмотреть подробную информацию о запросе WebHook только что полученного. Скопируйте этот URL и загрузите его в браузер, и вы увидите экран деталей события, как приведенный ниже.
Этот экран содержит богатое количество деталей о том, что вы только что получили.
При работе с WebHooks часть вашей важной информации, отправленной в запросе WebHook, содержится в заголовках запроса. Это может быть информация о аутентификации, такая как токены API, информация кэша или пользовательские заголовки, которые несут подписи для проверки источника веб-капуста.
Если по какой-то причине ваши веб-капли отображаются в терминале, но ваша конечная точка API не получает их, вы хотите проверить заголовки, чтобы убедиться, что ваша конечная точка аутентифицирована.
Заголовки запросов для принятого веб -ook отображаются в Заголовки
Раздел экрана события, как показано ниже:
Как видно в приведенном выше запросе, на сетевой подписи отправляется в полоса-подпись
заголовок Эта подпись позволяет убедиться, что веб-капли отправляются по полоску. Вы можете проверить подписи полос, используя Официальные библиотеки полосой или путем разработки собственного решения. Подробности по прокату вашей собственной системы проверки можно найти здесь Отказ
Осмотр полезной нагрузки веб -ook
Помимо уведомления о событии, которое произошло в исходном приложении, другая ответственность веб-качников — передавать данные из исходного приложения в приложение назначения.
Это данные, которые вам часто нужно сделать некоторую обработку на вашей конечной точке API на основе произошедшего события. При отладке вы хотите убедиться, что вы получаете все необходимые данные и в правильных форматах. Иногда вам нужно будет принять разные типы данных для достижения обработки, необходимой на вашем конце.
Например, когда пользователь платит через шлюз на полоску, вы ожидаете получить оплаченную сумму в числовом формате. По какой-то причине полоса может принять решение, чтобы отправить это значение в строковом формате. Это может испортить расчеты или обработку, которые вам нужно сделать на вашем конце, но если вы проверяете значение и обнаруживаете, что он был отправлен в виде строки, вы сможете включить логику для привлечения значения в числовом формате.
Экран события имеет Тело
Раздел, где вы можете проверить все параметры, отправленные в корпусе запроса, как показано ниже:
Повторяющиеся в друзьях
Отладка — это непрерывный цикл Тест
→ проверять
→ исправить
→ тестовое задание
. Когда вы выпускаете тестовые веб -ook с полосой и открывайте проблему или аномалию в вашей системе, вы проверяете запрос и ваш код для отслеживания ошибки, исправляете ее, затем проверьте снова.
Часто при работе с ошибкой вам может потребоваться запустить тесты несколько раз. Вы не хотите возвращаться на свою учетную запись в полоску, чтобы имитировать тест снова и снова, поскольку это может быстро расстраивать.
Не волнуйтесь, Cli Cli вы покрыл. Есть два способа повторить событие.
- Страница события: в верхнем правом углу есть кнопка повторной попытки, как показано ниже:
- Приборная панель CLI Вид: кнопка повторной попытки находится на краю события.
Нажмите эту кнопку, чтобы повторить попытку запроса веб -ook после получения исправления, затем снова проверьте, чтобы увидеть, очистите ли ошибка. Этот удобный инструмент удаляет напряжение вручную повторной попытке запроса веб -ook снова и снова.
Когда событие получено, Hookdeck создаст новую попытку. Полезно посмотреть на запрос ответ и состояние сервера.
Надо вручную вызвать событие на полосою или отправить уведомление о тестировании может стать громоздким. Вы можете закладывать (сохранить) запрос, который вы можете повторить попытку непосредственно с помощью приборной панели, не проходя через полосу.
Заключение
Отладка веб-качников может быть сложно, но с нужными инструментами вы получаете много поддержки, и это делает процесс гораздо меньше боли. В этом руководстве мы узнали и продемонстрировали, как отлаживать веб-капли, используя CLI Hookdeck CLI и тематическое исследование STRIPE WebHooks. Исследование использует событие обновления учетной записи на полосой, но принципы, изученные здесь, легко передаются при работе с другими поставщиками веб -ook.
Не забудьте проверить все статьи в наших серии WebHooks для получения дополнительной информации о веб-кавказках, в том числе как работать с ними и общими проблемами по устранению неполадок.
Счастливое кодирование!
Оригинал: «https://dev.to/hookdeck/webhooks-debugging-tutorial-5c5p»