Changes with Apache 2.0.31-dev
+ *) Change in quick_hanlder behavior for subrequests. it now passes DONE
+ (as it does for a normal request). quick_handled sub-requests now work
+ in mod-include [Ian Holsman]
+
+ *) Change SUBREQ_CORE so that it is a 'HTTP_HEADER' filter instead of
+ 'CONTENT' one, as it needs to run AFTER all content headers
*) Rename BeOS MPM directive RequestsPerThread to MaxRequestsPerThread.
[Lars Eilebrecht]
apr_bucket *tmp_buck;
char *parsed_string;
int loglevel = APLOG_ERR;
+ int quick_handler = 0;
*inserted_head = NULL;
if (ctx->flags & FLAG_PRINTING) {
if (!strcmp(tag, "virtual") || !strcmp(tag, "file")) {
request_rec *rr = NULL;
char *error_fmt = NULL;
+ apr_status_t rc = APR_SUCCESS;
+ SPLIT_AND_PASS_PRETAG_BUCKETS(*bb, ctx, f->next, rc);
+ if (rc != APR_SUCCESS) {
+ return rc;
+ }
+
parsed_string = ap_ssi_parse_string(r, ctx, tag_val, NULL,
MAX_STRING_LEN, 0);
if (tag[0] == 'f') {
else {
rr = ap_sub_req_lookup_uri(parsed_string, r, f->next);
}
+ if (rr && rr->status == DONE) {
+ rr->status = HTTP_OK;
+ quick_handler = 1;
+ }
if (!error_fmt && rr->status != HTTP_OK) {
error_fmt = "unable to include \"%s\" in parsed file %s";
if (!error_fmt) {
int rv;
- apr_status_t rc = APR_SUCCESS;
-
- SPLIT_AND_PASS_PRETAG_BUCKETS(*bb, ctx, f->next, rc);
- if (rc != APR_SUCCESS) {
- return rc;
- }
-
- if ((rv = ap_run_sub_req(rr))) {
+
+ if ((quick_handler==0)&&(rv = ap_run_sub_req(rr))) {
if (APR_STATUS_IS_EPIPE(rv)) {
/* let's not clutter the log on a busy server */
loglevel = APLOG_INFO;
AP_FTYPE_HTTP_HEADER);
ap_register_output_filter("CORE", core_output_filter, AP_FTYPE_NETWORK);
ap_register_output_filter("SUBREQ_CORE", ap_sub_req_output_filter,
- AP_FTYPE_CONTENT);
+ AP_FTYPE_HTTP_HEADER);
ap_old_write_func = ap_register_output_filter("OLD_WRITE",
ap_old_write_filter, AP_FTYPE_CONTENT - 10);
}