Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

125
Visualizações
fastapi/uvicorn prevent ungzipping with httpx.AsyncClinet

i work on reverse proxy based on fastapi. I want transparenty send data requested by AsyncClient. I have problem with gziped pages. Please can you help me, how to prevent default ungzipping of resp.content on this example?

@app.get("/{path:path}")
async def _get ( path: str, request: Request ):
    url = await my_proxy_logic (path, request)
    async with httpx.AsyncClient() as client:
        req = client.build_request("GET", url)
        resp = await client.send(req, stream=False)
    return Response( status_code=resp.status_code, headers=resp.headers, content=resp.content)```
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

It is possible to extract undecoded data from httpx response only in case of streaming mode stream=True or httpx.stream. In the example below, I collect the entire response using aiter_raw and return it from the path operation. Keep in mind that the entire response is loaded into memory, if you want to avoid this use fastapi StreamingResponse

import httpx
from fastapi import FastAPI, Request, Response

app = FastAPI()


@app.get("/pass")
async def root(request: Request):
    async with httpx.AsyncClient() as client:
        req = client.build_request('GET', 'http://httpbin.org/gzip')
        resp = await client.send(req, stream=True)
        return Response(status_code=resp.status_code, headers=resp.headers,
                        content=b"".join([part async for part in resp.aiter_raw()]))
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda