alibaba / alibaba/anyproxy

希望anyproxy可以提供流式转发的能力

Open
#565 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
7.9k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

AnyProxy向客户端发送请求前,会调用beforeSendResponse, 因为beforeSendResponse中的参数需要包含本次响应的全部数据, 所以anyproxy实际上需要先缓存本次请求的所有数据, 这对于下载比较大的文件不够友好, 希望能够增加流式转发的能力

实现上可以参考mitmproxy, 增加beforeSendResponseHeaders接口, 在此接口中决定是否进行流式转发

mitmproxy中的例子
https://docs.mitmproxy.org/stable/addons-examples/#example-complexstreampy
https://docs.mitmproxy.org/stable/addons-examples/#example-complexstream_modifypy

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing AnyProxy’s existing beforeSendResponse flow and how response bodies are buffered. Compare the proposed beforeSendResponseHeaders hook with the linked mitmproxy complexstream and complexstream_modify examples; done means large responses can be forwarded incrementally without buffering the complete body while retaining response interception behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
backend, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.