Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 466|回复: 0

使用 Sinatra 和 ngrok 进行简单的测试

[复制链接]

1

主题

1

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2022-12-14 17:50:37 | 显示全部楼层 |阅读模式
允许在应用程序和服务之间进行简单深入的集成但调试它们可能会有点痛苦。我们有 调试 webhooks 的一般指南,但您可能想知道设置和使用最快的 webhook 测试环境是什么。为此,很难击败 Sinatra 和 ngrok。或者,如果您更愿意使用 可以查看 Martyn 关于测试 Webhooks的帖子。 入门 首先,您需要一个具有 ruby​​gems 的 ruby​​ 环境。如果您是 ruby​​ 的新手,请查看rbenv让您的环境运行起来。 创建一个新目录并运行gem install sinatra。 现在让我们制作一个简单的 Sinatra 应用程序。 创建一个名为的文件。我们将 在此示例中使用SendGrid 事件。

事件 webhook 返回一个 JSON 正文。让我们记录每个事件的整个 JSON 负载并将其附加到新 繁荣。我们已经告诉 Sinatra 在/event URL上接受POST请求,并根据这些请求执行一些代码。 运行 Sinatra 并将您的 消费者手机号码数据库 应用程序公开到互联网 通过运行启动您的应用程序。Sinatra 将启动一个 WEBrick Web 服务器并告诉您它正在运行的端口。默认情况下是4567。 现在我们需要将这个正在运行的实例暴露给互联网。ngrok 来救援!按照安装说明进行操作,然后启动终端的新实例。运行ngrok 4567并查找您的一次性 ngrok URL。如果您在浏览器中点击您的 ngrok URL,您应该会看到来自 Sinatra 的默认“无路由”页面。



现在将您的SendGrid 事件通知应用配置为使用您的 ngrok URL。不要忘记将/event添加到 URL,因为这是我们在 Sinatra 中定义的路由。 继续并点击“测试您的集成”按钮,或前往邮件 API 参考页面并点击“试用”以发送电子邮件。 有效! 运行 ngrok 的终端窗口应该会显示一些正在通过隧道传输的 HTTP 请求,并且您会在运行 Sinatra 应用程序的终端中看到相同的请求。 您的 Sinatra 应用程序目录中还会有一个文件,其中包含如下内容这里的所有都是它的!现在您可以检查事件的外观并开始使用 JSON 有效负载的内容来尝试不同的工作流程。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-2-6 14:14 , Processed in 0.023416 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表