Lines 312-318
Link Here
|
312 |
* proxied *response*, proxy responses MUST be exempt. |
312 |
* proxied *response*, proxy responses MUST be exempt. |
313 |
*/ |
313 |
*/ |
314 |
if (ctx->state == BODY_NONE && f->r->proxyreq != PROXYREQ_RESPONSE) { |
314 |
if (ctx->state == BODY_NONE && f->r->proxyreq != PROXYREQ_RESPONSE) { |
315 |
e = apr_bucket_eos_create(f->c->bucket_alloc); |
315 |
e = apr_bucket_eos_create(b->bucket_alloc); |
316 |
APR_BRIGADE_INSERT_TAIL(b, e); |
316 |
APR_BRIGADE_INSERT_TAIL(b, e); |
317 |
ctx->eos_sent = 1; |
317 |
ctx->eos_sent = 1; |
318 |
return APR_SUCCESS; |
318 |
return APR_SUCCESS; |
Lines 339-345
Link Here
|
339 |
e = apr_bucket_pool_create(tmp, len, f->r->pool, |
339 |
e = apr_bucket_pool_create(tmp, len, f->r->pool, |
340 |
f->c->bucket_alloc); |
340 |
f->c->bucket_alloc); |
341 |
APR_BRIGADE_INSERT_HEAD(bb, e); |
341 |
APR_BRIGADE_INSERT_HEAD(bb, e); |
342 |
e = apr_bucket_flush_create(f->c->bucket_alloc); |
342 |
e = apr_bucket_flush_create(b->bucket_alloc); |
343 |
APR_BRIGADE_INSERT_TAIL(bb, e); |
343 |
APR_BRIGADE_INSERT_TAIL(bb, e); |
344 |
|
344 |
|
345 |
ap_pass_brigade(f->c->output_filters, bb); |
345 |
ap_pass_brigade(f->c->output_filters, bb); |
Lines 389-395
Link Here
|
389 |
/* Handle trailers by calling ap_get_mime_headers again! */ |
389 |
/* Handle trailers by calling ap_get_mime_headers again! */ |
390 |
ctx->state = BODY_NONE; |
390 |
ctx->state = BODY_NONE; |
391 |
ap_get_mime_headers(f->r); |
391 |
ap_get_mime_headers(f->r); |
392 |
e = apr_bucket_eos_create(f->c->bucket_alloc); |
392 |
e = apr_bucket_eos_create(b->bucket_alloc); |
393 |
APR_BRIGADE_INSERT_TAIL(b, e); |
393 |
APR_BRIGADE_INSERT_TAIL(b, e); |
394 |
ctx->eos_sent = 1; |
394 |
ctx->eos_sent = 1; |
395 |
return APR_SUCCESS; |
395 |
return APR_SUCCESS; |
Lines 401-407
Link Here
|
401 |
} |
401 |
} |
402 |
|
402 |
|
403 |
if (ctx->eos_sent) { |
403 |
if (ctx->eos_sent) { |
404 |
e = apr_bucket_eos_create(f->c->bucket_alloc); |
404 |
e = apr_bucket_eos_create(b->bucket_alloc); |
405 |
APR_BRIGADE_INSERT_TAIL(b, e); |
405 |
APR_BRIGADE_INSERT_TAIL(b, e); |
406 |
return APR_SUCCESS; |
406 |
return APR_SUCCESS; |
407 |
} |
407 |
} |
Lines 411-417
Link Here
|
411 |
case BODY_NONE: |
411 |
case BODY_NONE: |
412 |
break; |
412 |
break; |
413 |
case BODY_LENGTH: |
413 |
case BODY_LENGTH: |
414 |
e = apr_bucket_eos_create(f->c->bucket_alloc); |
414 |
e = apr_bucket_eos_create(b->bucket_alloc); |
415 |
APR_BRIGADE_INSERT_TAIL(b, e); |
415 |
APR_BRIGADE_INSERT_TAIL(b, e); |
416 |
ctx->eos_sent = 1; |
416 |
ctx->eos_sent = 1; |
417 |
return APR_SUCCESS; |
417 |
return APR_SUCCESS; |
Lines 491-497
Link Here
|
491 |
/* Handle trailers by calling ap_get_mime_headers again! */ |
491 |
/* Handle trailers by calling ap_get_mime_headers again! */ |
492 |
ctx->state = BODY_NONE; |
492 |
ctx->state = BODY_NONE; |
493 |
ap_get_mime_headers(f->r); |
493 |
ap_get_mime_headers(f->r); |
494 |
e = apr_bucket_eos_create(f->c->bucket_alloc); |
494 |
e = apr_bucket_eos_create(b->bucket_alloc); |
495 |
APR_BRIGADE_INSERT_TAIL(b, e); |
495 |
APR_BRIGADE_INSERT_TAIL(b, e); |
496 |
ctx->eos_sent = 1; |
496 |
ctx->eos_sent = 1; |
497 |
return APR_SUCCESS; |
497 |
return APR_SUCCESS; |
Lines 535-541
Link Here
|
535 |
* save the callter a roundtrip to discover EOS. |
535 |
* save the callter a roundtrip to discover EOS. |
536 |
*/ |
536 |
*/ |
537 |
if (ctx->state == BODY_LENGTH && ctx->remaining == 0) { |
537 |
if (ctx->state == BODY_LENGTH && ctx->remaining == 0) { |
538 |
e = apr_bucket_eos_create(f->c->bucket_alloc); |
538 |
e = apr_bucket_eos_create(b->bucket_alloc); |
539 |
APR_BRIGADE_INSERT_TAIL(b, e); |
539 |
APR_BRIGADE_INSERT_TAIL(b, e); |
540 |
} |
540 |
} |
541 |
|
541 |
|