为什么当我使用 reply.create() 时,heroku 上的 hapi.js 会导致传输错误

why does hapi.js on heroku cause a transmit error when I use the reply.create()

当我在 heorku 上尝试在我的应用程序中发送 201 响应时,我收到以下错误。它在我的本地机器上运行良好。

代码

reply({msg: 'foo'}).created();

奇怪的是,如果我向创建的方法添加参数,它不会在 Heroku 中抛出错误。导致问题的环境有何不同?

错误:

Debug: internal, implementation, error 
Error: "name" and "value" are required for setHeader().
     at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.
     at Object.internals.transmit (/app/node_modules/hapi/lib/transmit.
     at /app/node_modules/hapi/lib/transmit.js:34:26
     at Function.internals.Auth.response (/app/node_modules/hapi/lib/auth.
     at /app/node_modules/hapi/lib/transmit.js:139:25
     at internals.Response._streamify (/app/node_modules/hapi/lib/response
     at internals.Response._marshal (/app/node_modules/hapi/lib/response.
     at /app/node_modules/hapi/lib/transmit.js:535:20
     at /app/node_modules/hapi/lib/transmit.js:119:18
     at Object.exports.parallel (/app/node_modules/hapi/node_modules/items/lib/index.js:47:9)

.created 函数需要一个 uri 参数,以便在设置响应 Location header 时,它有一个值。尝试将字符串传递给 created,应该可以解决您的问题。在堆栈的更下方,为 "Location" 调用了 setHeader 但您没有提供值,因此出现错误。