1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-07 04:02:58 +03:00

Add the ability to register filters. This commit introduces a warning

into the build.  This warning will be removed automatically, as soon as
we decide on a prototype for the function causing the warning.  That
decision is tied to which filtering mechanism we decide on.
Submitted by:	Ryan Bloom and Greg Stein


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85926 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Ryan Bloom
2000-07-28 20:31:02 +00:00
parent c90431e69c
commit f89738e6b6
6 changed files with 404 additions and 16 deletions

View File

@@ -770,6 +770,9 @@ API_EXPORT(request_rec *) ap_sub_req_method_uri(const char *method,
rnew->htaccess = r->htaccess;
rnew->per_dir_config = r->server->lookup_defaults;
/* start with the same set of output filters */
rnew->filters = r->filters;
ap_set_sub_req_protocol(rnew, r);
/* would be nicer to pass "method" to ap_set_sub_req_protocol */
@@ -858,6 +861,9 @@ API_EXPORT(request_rec *) ap_sub_req_lookup_file(const char *new_file,
rnew->htaccess = r->htaccess;
rnew->chunked = r->chunked;
/* start with the same set of output filters */
rnew->filters = r->filters;
ap_set_sub_req_protocol(rnew, r);
fdir = ap_make_dirstr_parent(rnew->pool, r->filename);
@@ -961,16 +967,22 @@ API_EXPORT(request_rec *) ap_sub_req_lookup_file(const char *new_file,
API_EXPORT(int) ap_run_sub_req(request_rec *r)
{
#ifndef APACHE_XLATE
int retval = ap_invoke_handler(r);
#else /*APACHE_XLATE*/
/* Save the output conversion setting of the caller across subrequests */
int retval;
ap_xlate_t *saved_xlate;
ap_bgetopt(r->connection->client, BO_WXLATE, &saved_xlate);
retval = ap_invoke_handler(r);
ap_bsetopt(r->connection->client, BO_WXLATE, &saved_xlate);
/* see comments in process_request_internal() */
ap_run_insert_filter(r);
#ifndef APACHE_XLATE
retval = ap_invoke_handler(r);
#else /*APACHE_XLATE*/
{
/* Save the output conversion setting across subrequests */
ap_xlate_t *saved_xlate;
ap_bgetopt(r->connection->client, BO_WXLATE, &saved_xlate);
retval = ap_invoke_handler(r);
ap_bsetopt(r->connection->client, BO_WXLATE, &saved_xlate);
}
#endif /*APACHE_XLATE*/
ap_finalize_sub_req_protocol(r);
return retval;