The code still feels iffy, but I think it mostly works.
At least the https:// version of YHBT.net is running it
and it doesn't seem to be falling over. I'll beat on it
a bit more over the next few days.
The purpose of this is to be able to support streaming
gigantic responses from backend servers which are already
capable of handling slow clients. So this slows down
the rate at which yahns will read from the backend
to provide backpressure for the upstream server.
lib/yahns/proxy_http_response.rb | 87 ++++++++++++--------
lib/yahns/proxy_pass.rb | 6 +-
lib/yahns/req_res.rb | 14 ++++
lib/yahns/wbuf.rb | 5 +-
lib/yahns/wbuf_common.rb | 2 +-
test/test_proxy_pass_no_buffering.rb | 149 +++++++++++++++++++++++++++++++++++
6 files changed, 223 insertions(+), 40 deletions(-)
Eric Wong (2):
proxy_pass: pass entire object to proxy_http_response
proxy_pass: support "proxy_buffering: false"
--
unsubscribe: [email protected]
archive: https://yhbt.net/yahns-public/