How to get https API response body on proxyRes

Aberta
#1,614 2 comentários 3 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
20/100
Tipo de issue
Bug
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
javascript, node.js
Domínio
api, backend

Direção de pesquisa

Comece pela função fornecida interceptLoginResponse e pelos handlers de dados e de término de proxyRes. Leia as orientações do node-http-proxy sobre a interceptação do corpo da resposta de proxyRes e compare o caminho da requisição HTTPS com o caminho HTTP funcional; considera-se concluído quando for determinado por que o corpo não está disponível e uma resolução compatível for documentada.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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)
                }
            })
        }
Linguagem predominante
JavaScript
Estrelas
14.1k
Forks
2k
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de http-party/node-http-proxy

Todas as issues de http-party/node-http-proxy

Issues semelhantes

Mais issues de JavaScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.