[config] config options to stream request/response (#949, #376)
commit695c8f4e070b290d98b2ea253a76897c7b86a0d6
authorGlenn Strauss <gstrauss@gluelogic.com>
Sat, 4 Jun 2016 14:56:06 +0000 (4 10:56 -0400)
committerGlenn Strauss <gstrauss@gluelogic.com>
Mon, 20 Jun 2016 03:34:15 +0000 (19 23:34 -0400)
tree4506b031d785352916fb2c263d39aed739f6e5b0
parent5ab7944d3439f8efcd20d177d94ccdccc760881d
[config] config options to stream request/response (#949, #376)

This allows admin to configure if response is collected in entirety
prior to sending data to client

For compatibility with existing configs, default is existing behavior:
  buffer entire response prior to sending data to client

The following are config options, though not all implemented yet

// default: buffer entire request body before connecting to backend
server.stream-request-body = 0

// stream request body to backend; buffer to temp files
server.stream-request-body = 1

// stream request body to backend; minimal buffering might block upload
server.stream-request-body = 2

// default: buffer entire response body before sending to client
server.stream-request-body = 0

// stream response body to client; buffer to temp files
server.stream-request-body = 1

// stream response body to client; minimal buffering might block backend
server.stream-request-body = 2

x-ref:
  "fastcgi, cgi, flush, php5 problem."
  https://redmine.lighttpd.net/issues/949
 "Reimplement upload (POST) handling to match apache/zeus/thttpd/boa functionality"
  https://redmine.lighttpd.net/issues/376
src/base.h
src/configfile.c
src/connections-glue.c
src/connections.c
src/fdevent.h
src/server.c