【发布时间】:2015-04-10 19:48:35
【问题描述】:
一种常见的 webhook 样式 API 实践是 API 使用者接收 webhook 请求,以 204 No Content 响应,关闭连接,然后处理请求。 Hapi.js 直到 nextTick 才发送回复对象,这意味着处理函数必须返回。
将请求处理分离到一个单独的函数中并使用 nextTick 调用它仍然会导致处理在发送回复对象之前发生。 setTimeout 有效,但这会对性能产生负面影响。
Hapi 的请求扩展似乎是一种选择,但无论路径如何,都附加到所有请求,这给其他请求增加了不必要的开销。
Express.js 有一个 response.send() 方法可以立即发送响应。理想情况下,Hapi 应该有这样的东西。
【问题讨论】:
-
您找到答案了吗? webhook 没有尽快得到响应是否重要?
-
不,我还没有找到解决方案。是的,在我的应用继续执行工作之前,webhook 请求收到响应并正确关闭连接非常重要。