nodejs http_outgoing 使用 pastebin API 崩溃

nodejs http_outgoing crash with pastebin API

我写了一个 node 应用程序,除了其他很酷的东西,它还向应用程序从 txt 文件创建的 pastebin 提供 link。

它在我的 OS X 上的本地 macbook 上完美运行。但是在我租用的 debian 服务器上,这是当有人请求 link 到 pastebin/requests 时显示的内容该应用创建了一个 pastebin

编辑:我之前也在我的服务器上运行过。现在我只是在单独的模块中重新安排了一些代码,例如 connection.js、database.js 和

我用 #pastebin# 替换了 pastebin 模块路径,如果需要我会重新添加它们。但是他们都 link 变成了 pastebin-js/node_modules/request/request.js

中的东西

这是我用于 pastebin 的库:https://github.com/j3lte/pastebin-js

_http_outgoing.js:339
        throw new TypeError(
        ^

    TypeError: Header name must be a valid HTTP Token ["Cache-Control:"]
        at ClientRequest.OutgoingMessage.setHeader (_http_outgoing.js:339:11)
        at new ClientRequest (_http_client.js:86:14)
        at Object.exports.request (http.js:31:10)
        at Request.start (#pastebin#)
        at Request.write (#pastebin#)
        at end (#pastebin#)
        at #pastebin#
        at doNTCallback0 (node.js:428:9)
        at process._tickCallback (node.js:357:13)

所以我想我发现了我的问题。

我不得不升级我的服务器上的节点,因为 module.exports 的语法和多个导出出于某种原因在那里是未知的。

在 5.0 过高后,我似乎现在降级到 v4.2.1,而且效果很好。

我是通过不相关的 Header name must be a valid HTTP Token 搜索来到这里的。我的问题是我试图使用这个:

res.setHeader("Content-disposition: attachment; filename="+filename);

但是到了某个版本的express之后,就得这样了:

res.setHeader("Content-disposition", "attachment; filename="+filename);

不同之处在于第二个使用两个参数(名称和值),而第一个只是一个长字符串。