当我尝试在我的应用中发送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)
答案 0 :(得分:0)
.created
函数需要uri
参数,以便在设置响应Location
标头时,它具有值。尝试将字符串传入created
,应该解决您的问题。在堆栈中向下,有一个setHeader
调用“Location”但你没有提供值,因此错误。