View | Details | Raw Unified | Return to bug 55475
Collapse All | Expand All

(-)modules/http/http_filters.c (-1 / +11 lines)
Lines 353-358 apr_status_t ap_http_filter(ap_filter_t *f, apr_bu Link Here
353
            }
353
            }
354
354
355
            if (rv != APR_SUCCESS) {
355
            if (rv != APR_SUCCESS) {
356
                if (rv == APR_EOF) {
357
                    return APR_INCOMPLETE;
358
                }
356
                return rv;
359
                return rv;
357
            }
360
            }
358
361
Lines 410-415 apr_status_t ap_http_filter(ap_filter_t *f, apr_bu Link Here
410
                }
413
                }
411
414
412
                if (rv != APR_SUCCESS) {
415
                if (rv != APR_SUCCESS) {
416
                    if (rv == APR_EOF && ctx->remaining > 0 &&
417
                            ctx->state != BODY_NONE) {
418
                        return APR_INCOMPLETE;
419
                    }
413
                    return rv;
420
                    return rv;
414
                }
421
                }
415
422
Lines 425-431 apr_status_t ap_http_filter(ap_filter_t *f, apr_bu Link Here
425
                    if (ctx->remaining > 0) {
432
                    if (ctx->remaining > 0) {
426
                        e = APR_BRIGADE_LAST(b);
433
                        e = APR_BRIGADE_LAST(b);
427
                        if (APR_BUCKET_IS_EOS(e)) {
434
                        if (APR_BUCKET_IS_EOS(e)) {
428
                            return APR_EOF;
435
                            return APR_INCOMPLETE;
429
                        }
436
                        }
430
                    }
437
                    }
431
                    else if (ctx->state == BODY_CHUNK_DATA) {
438
                    else if (ctx->state == BODY_CHUNK_DATA) {
Lines 474-479 apr_status_t ap_http_filter(ap_filter_t *f, apr_bu Link Here
474
            }
481
            }
475
482
476
            if (rv != APR_SUCCESS) {
483
            if (rv != APR_SUCCESS) {
484
                if (rv == APR_EOF) {
485
                    return APR_INCOMPLETE;
486
                }
477
                return rv;
487
                return rv;
478
            }
488
            }
479
489
(-)modules/http/chunk_filter.c (-9 / +11 lines)
Lines 72-86 apr_status_t ap_http_chunk_filter(ap_filter_t *f, Link Here
72
                eos = e;
72
                eos = e;
73
                break;
73
                break;
74
            }
74
            }
75
            if (AP_BUCKET_IS_ERROR(e)
75
            if (AP_BUCKET_IS_ERROR(e)) {
76
                && (((ap_bucket_error *)(e->data))->status
76
                switch (((ap_bucket_error *)(e->data))->status) {
77
                    == HTTP_BAD_GATEWAY)) {
77
                case HTTP_BAD_GATEWAY:
78
                /*
78
                case HTTP_GATEWAY_TIME_OUT:
79
                 * We had a broken backend. Memorize this in the filter
79
                    /*
80
                 * context.
80
                     * We had a broken backend. Memorize this in the filter
81
                 */
81
                     * context.
82
                f->ctx = &bad_gateway_seen;
82
                     */
83
                continue;
83
                    f->ctx = &bad_gateway_seen;
84
                    continue;
85
                }
84
            }
86
            }
85
            if (APR_BUCKET_IS_FLUSH(e)) {
87
            if (APR_BUCKET_IS_FLUSH(e)) {
86
                flush = e;
88
                flush = e;

Return to bug 55475