MINOR: http: further cleanups of response forwarding function
There is no reason for mixing compressing and non-compressing
code in the DATA state, they don't share anything. Better make
this clearer.
diff --git a/src/proto_http.c b/src/proto_http.c
index 8e0b0bf..114efef 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -6227,17 +6227,19 @@
if (ret < 0)
goto aborted_xfer;
- if (res->to_forward || msg->chunk_len) {
- res->flags |= CF_WAKE_WRITE;
+ if (msg->chunk_len) {
+ /* input empty or output full */
+ if (res->buf->i > msg->next)
+ res->flags |= CF_WAKE_WRITE;
goto missing_data;
}
}
-
- if (msg->chunk_len > res->buf->i - msg->next) {
- res->flags |= CF_WAKE_WRITE;
- goto missing_data;
- }
else {
+ if (msg->chunk_len > res->buf->i - msg->next) {
+ /* output full */
+ res->flags |= CF_WAKE_WRITE;
+ goto missing_data;
+ }
msg->next += msg->chunk_len;
msg->chunk_len = 0;
}