Un-catchable Malformed_HTTP_Response crash.

未关闭
#1,667 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
25/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞

调研方向

从提供的 Express 复现和 proxy.web 调用开始,然后追踪 Malformed_HTTP_Response 错误,以确定它是源自 node-http-proxy 还是其他 package。确定了负责的 package 和失败路径,并有可复现的依据使该错误能够被捕获,即表示完成。

由索引模型根据 Issue 内容生成。

描述

System and Environment Information:

  • OS: debian bookworm
  • Runtime: Bun 1.1.3

Details on the Issue:
Periodically, my server will crash with the error along the lines of:

Malformed_HTTP_Response: Malformed_HTTP_Response fetching "http://192.168.0.9:8000/ports/list". For more information, pass `verbose: true` in the second argument to fetch()
 path: "http://192.168.0.9:8000/ports/list"

I've tried using try...catch but this is an issue with the package.

Reproduction:
Open up a Express server and add similar code to this:

  var proxy = HTTPproxy.createProxyServer({ ws: true });
  server.get("/ws/:node/*", function (req: Request, res: Response) {
    let url = req.url.replace(`/ws/${req.params.node}/`, "");
    req.url = url;
    try {
      proxy.web(req, res, {
        target: "http://" + endpoints[req.params.node].split("@")[1],
      });
    } catch {}
  });

At some point you'll encounter Malformed_HTTP_Response.

Note: I've looked at the code and couldnt find the use of fetch() anywhere, this could be an issue with a different package. I'm blaming this issue on this package for now though.

主要语言
JavaScript
星标
14.1k
派生
2k
PR 合并指标
30 天内没有已合并 PR

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

http-party/node-http-proxy 的其他 Issue

查看 http-party/node-http-proxy 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。