From: Jeff Trawick Date: Wed, 25 Oct 2000 00:38:04 +0000 (+0000) Subject: Introduce more filter types. This gets chunking of output working X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d8cfd9f696e2b0956612a492936a6771c4ddb9e1;p=apache Introduce more filter types. This gets chunking of output working again by ensuring that the chunk filter gets added after the http headers filter. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86739 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/include/util_filter.h b/include/util_filter.h index 7c6489559d..36ef6255ba 100644 --- a/include/util_filter.h +++ b/include/util_filter.h @@ -182,8 +182,11 @@ typedef union ap_filter_func { * the ordering is equivalent to the order of calls to ap_add_*_filter(). */ typedef enum { - AP_FTYPE_CONTENT, - AP_FTYPE_CONNECTION + AP_FTYPE_CONTENT = 10, + AP_FTYPE_HTTP_HEADER = 20, + AP_FTYPE_TRANSCODE = 30, + AP_FTYPE_CONNECTION = 40, + AP_FTYPE_NETWORK = 50 } ap_filter_type; /* diff --git a/modules/http/http_core.c b/modules/http/http_core.c index 4e632f5cc4..a0f3bc9d37 100644 --- a/modules/http/http_core.c +++ b/modules/http/http_core.c @@ -3577,13 +3577,13 @@ static void register_hooks(void) */ ap_hook_insert_filter(core_insert_filter, NULL, NULL, AP_HOOK_MIDDLE); ap_register_input_filter("HTTP_IN", ap_http_filter, AP_FTYPE_CONNECTION); - ap_register_input_filter("DECHUNK", ap_dechunk_filter, AP_FTYPE_CONNECTION + 1); - ap_register_input_filter("CORE_IN", core_input_filter, AP_FTYPE_CONNECTION); - ap_register_output_filter("HTTP_HEADER", ap_http_header_filter, AP_FTYPE_CONTENT - 1); - ap_register_output_filter("CORE", core_output_filter, AP_FTYPE_CONNECTION + 1); + ap_register_input_filter("DECHUNK", ap_dechunk_filter, AP_FTYPE_TRANSCODE); + ap_register_input_filter("CORE_IN", core_input_filter, AP_FTYPE_NETWORK); + ap_register_output_filter("HTTP_HEADER", ap_http_header_filter, 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_register_output_filter("CHUNK", chunk_filter, AP_FTYPE_CONNECTION); + ap_register_output_filter("CHUNK", chunk_filter, AP_FTYPE_TRANSCODE); ap_register_output_filter("COALESCE", coalesce_filter, AP_FTYPE_CONNECTION); }