RangeError:无效状态码:0在快速应用程序会话问题

RangeError: Invalid status code: 0 in Express App - Session issue?

本文关键字:应用程序 问题 会话 无效 状态 RangeError      更新时间:2023-09-26

我在快递应用程序上有这个随机错误:

_http_server.js:192
    throw new RangeError(`Invalid status code: ${statusCode}`);
    ^
RangeError: Invalid status code: 0
    at ServerResponse.writeHead (_http_server.js:192:11)
    at ServerResponse.writeHead (/project-folder/node_modules/express-session/node_modules/on-headers/index.js:55:19)
    at ServerResponse._implicitHeader (_http_server.js:157:8)
    at ServerResponse.OutgoingMessage.end (_http_outgoing.js:573:10)
    at writeend (/project-folder/node_modules/express-session/index.js:257:22)
    at Immediate.onsave [as _onImmediate] (/project-folder/node_modules/express-session/index.js:325:11)
    at processImmediate [as _immediateCallback] (timers.js:383:17)

我试着做这样的事情来修复它,但没有运气:

app.use(function(req, res, next) {
    req.on("end", function() {
        if (res.statusCode < 100 && res.statusCode >= 600) {
          res.status(500);          
        }
    });
    next();
});

我不知道在哪里找到错误或至少放一个try catch,错误是随机的,跟踪不是很明确。

欢迎任何帮助,谢谢!

当我在本地主机上托管用于开发和测试的两个项目之间切换时,我看到了类似的错误。在浏览器中手动删除localhost的cookie解决了这个问题。我用你的函数求出来了。打印要求。所有请求的标头让我意识到,当在本地主机上的不同项目之间切换时,cookie会持续存在。