mirror of
https://github.com/apache/httpd.git
synced 2025-08-07 04:02:58 +03:00
Add a bit of infrastructure which will be needed for input filtering:
1) separate filter lists hanging off the r and the c requests start off with the same filter list as the connection the input filter list is not initialized for subrequests internal redirects start off with the same filter list as the connection 2) AddInputFilter directive (blatant rip-off of Ryan's AddOutputFilter directive); as with AddOutputFilter, the network is implicitly to the right of the specified filter list; this may not be the most intuitive way to specify the filters; not sure yet git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86403 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -780,6 +780,7 @@ API_EXPORT(request_rec *) ap_sub_req_method_uri(const char *method,
|
||||
|
||||
/* start with the same set of output filters */
|
||||
rnew->output_filters = r->output_filters;
|
||||
/* no input filters for a subrequest */
|
||||
|
||||
ap_set_sub_req_protocol(rnew, r);
|
||||
|
||||
@@ -875,6 +876,7 @@ API_EXPORT(request_rec *) ap_sub_req_lookup_file(const char *new_file,
|
||||
|
||||
/* start with the same set of output filters */
|
||||
rnew->output_filters = r->output_filters;
|
||||
/* no input filters for a subrequest */
|
||||
|
||||
ap_set_sub_req_protocol(rnew, r);
|
||||
fdir = ap_make_dirstr_parent(rnew->pool, r->filename);
|
||||
@@ -1374,6 +1376,7 @@ static request_rec *internal_internal_redirect(const char *new_uri,
|
||||
new->vlist_validator = r->vlist_validator;
|
||||
|
||||
new->output_filters = r->connection->output_filters;
|
||||
new->input_filters = r->connection->input_filters;
|
||||
|
||||
apr_table_setn(new->subprocess_env, "REDIRECT_STATUS",
|
||||
apr_psprintf(r->pool, "%d", r->status));
|
||||
|
Reference in New Issue
Block a user