175
175
AJP13_MAX_SEND_BODY_SZ);
177
177
if (status != APR_SUCCESS) {
178
/* We had a failure: Close connection to backend */
178
180
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, r->server,
179
181
"proxy: ap_get_brigade failed");
180
182
apr_brigade_destroy(input_brigade);
313
315
/* AJP13_SEND_BODY_CHUNK: piece of data */
314
316
status = ajp_parse_data(r, conn->data, &size, &buff);
315
317
if (status == APR_SUCCESS) {
316
e = apr_bucket_transient_create(buff, size,
319
/* AJP13_SEND_BODY_CHUNK with zero length
320
* is explicit flush message
322
e = apr_bucket_flush_create(r->connection->bucket_alloc);
323
APR_BRIGADE_INSERT_TAIL(output_brigade, e);
326
e = apr_bucket_transient_create(buff, size,
317
327
r->connection->bucket_alloc);
318
APR_BRIGADE_INSERT_TAIL(output_brigade, e);
328
APR_BRIGADE_INSERT_TAIL(output_brigade, e);
320
if ( (conn->worker->flush_packets == flush_on) ||
321
( (conn->worker->flush_packets == flush_auto) &&
322
(apr_poll(conn_poll, 1, &conn_poll_fd,
323
conn->worker->flush_wait)
325
e = apr_bucket_flush_create(r->connection->bucket_alloc);
326
APR_BRIGADE_INSERT_TAIL(output_brigade, e);
330
if ((conn->worker->flush_packets == flush_on) ||
331
((conn->worker->flush_packets == flush_auto) &&
332
(apr_poll(conn_poll, 1, &conn_poll_fd,
333
conn->worker->flush_wait)
335
e = apr_bucket_flush_create(r->connection->bucket_alloc);
336
APR_BRIGADE_INSERT_TAIL(output_brigade, e);
338
apr_brigade_length(output_brigade, 0, &bb_len);
340
conn->worker->s->read += bb_len;
328
apr_brigade_length(output_brigade, 0, &bb_len);
330
conn->worker->s->read += bb_len;
331
342
if (ap_pass_brigade(r->output_filters,
332
343
output_brigade) != APR_SUCCESS) {
333
344
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
544
/* Handle CPING/CPONG */
545
if (worker->ping_timeout_set) {
546
status = ajp_handle_cping_cpong(backend->sock, r,
547
worker->ping_timeout);
548
if (status != APR_SUCCESS) {
550
ap_log_error(APLOG_MARK, APLOG_ERR, status, r->server,
551
"proxy: AJP: cping/cpong failed to %pI (%s)",
554
status = HTTP_SERVICE_UNAVAILABLE;
533
558
/* Step Three: Process the Request */
534
559
status = ap_proxy_ajp_request(p, r, backend, origin, dconf, uri, url,