How to get https API response body on proxyRes

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

还没有人认领这个 Issue。

评估

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

调研方向

从提供的 interceptLoginResponse 函数及其 proxyRes 数据处理程序和结束处理程序开始。阅读 node-http-proxy 关于拦截 proxyRes 响应正文的指南,并将 HTTPS 请求路径与正常工作的 HTTP 路径进行比较;完成的标准是确定正文不可用的原因,并记录一种受支持的解决方案。

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

描述

Hello all!

I have an http and an https API.

When I use http API, when user login successfully I get access token on proxyRes and I add HttpOnly Cookie. This is working.

But when I use https API I can't get response body. In my opinion because the response body is encrypted.

How can I solution this problem. Is there a solution?

This my code snippet;

function interceptLoginResponse(proxyRes, req, res) {
            // Read the API's response body from 
            let apiResponseBody = ''
            proxyRes.on('data', (chunk) => {
                chunk = chunk.toString('utf-8');
                apiResponseBody += chunk
            })


            proxyRes.on('end', async () => {
                try {
                    // Extract the authToken from API's response:
                    const {access_token} = await JSON.parse(apiResponseBody);
            
                    const cookies = new Cookies(req, res, {secure: true})

                    await cookies.set('access_token', access_token, { secure:true, pat:"/", httpOnly: true, sameSite: 'Strict', expirationDate:"21 Oct 2022 07:28:00 GMT"})
                    await res.status(200).json({ success: true })
                } catch (err) {
                    reject(err)
                }
            })
        }
主要语言
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 摘要。