#include "apr.h"
#include "apr_buckets.h"
#include "httpd.h"
Go to the source code of this file.
Classes | |
| union | ap_filter_func |
| struct | ap_filter_rec_t |
| This structure is used for recording information about the registered filters. It associates a name with the filter's callback and filter type. More... | |
| struct | ap_filter_t |
| The representation of a filter chain. More... | |
Filter callbacks | |
| This function type is used for filter callbacks. It will be passed a pointer to "this" filter, and a "bucket" containing the content to be filtered. In filter->ctx, the callback will find its context. This context is provided here, so that a filter may be installed multiple times, each receiving its own per-install context pointer. Callbacks are associated with a filter definition, which is specified by name. See ap_register_input_filter() and ap_register_output_filter() for setting the association between a name for a filter and its associated callback (and other information). If the initialization function argument passed to the registration functions is non-NULL, it will be called iff the filter is in the input or output filter chains and before any data is generated to allow the filter to prepare for processing. The *bucket structure (and all those referenced by ->next and ->prev) should be considered "const". The filter is allowed to modify the next/prev to insert/remove/replace elements in the bucket list, but the types and values of the individual buckets should not be altered.
For the input and output filters, the return value of a filter should be an APR status value. For the init function, the return value should be an HTTP error code or OK if it was successful. | |
| typedef apr_status_t(* | ap_out_filter_func )(ap_filter_t *f, apr_bucket_brigade *b) |
| typedef apr_status_t(* | ap_in_filter_func )(ap_filter_t *f, apr_bucket_brigade *b, ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes) |
| typedef int(* | ap_init_filter_func )(ap_filter_t *f) |
| typedef ap_filter_func | ap_filter_func |
| apr_bucket_brigade | AP_DECLARE_NONSTD (apr_status_t) ap_fprintf(ap_filter_t *f |
Defines | |
| #define | AP_NOBODY_WROTE -1 |
| #define | AP_NOBODY_READ -2 |
| #define | AP_FILTER_ERROR -3 |
| #define | ap_fwrite(f, bb, data, nbyte) apr_brigade_write(bb, ap_filter_flush, f, data, nbyte) |
| #define | ap_fputs(f, bb, str) apr_brigade_puts(bb, ap_filter_flush, f, str) |
| #define | ap_fputc(f, bb, c) apr_brigade_putc(bb, ap_filter_flush, f, c) |
| #define | AP_FILTER_PROTO_CHANGE 0x1 |
| #define | AP_FILTER_PROTO_CHANGE_LENGTH 0x2 |
| #define | AP_FILTER_PROTO_NO_BYTERANGE 0x4 |
| #define | AP_FILTER_PROTO_NO_PROXY 0x8 |
| #define | AP_FILTER_PROTO_NO_CACHE 0x10 |
| #define | AP_FILTER_PROTO_TRANSFORM 0x20 |
Typedefs | |
| typedef ap_filter_t | ap_filter_t |
| typedef ap_filter_rec_t | ap_filter_rec_t |
| typedef ap_filter_provider_t | ap_filter_provider_t |
Enumerations | |
| enum | ap_input_mode_t { AP_MODE_READBYTES, AP_MODE_GETLINE, AP_MODE_EATCRLF, AP_MODE_SPECULATIVE, AP_MODE_EXHAUSTIVE, AP_MODE_INIT } |
| input filtering modes More... | |
| enum | ap_filter_type { AP_FTYPE_RESOURCE = 10, AP_FTYPE_CONTENT_SET = 20, AP_FTYPE_PROTOCOL = 30, AP_FTYPE_TRANSCODE = 40, AP_FTYPE_CONNECTION = 50, AP_FTYPE_NETWORK = 60 } |
Functions | |
| AP_DECLARE (apr_status_t) ap_get_brigade(ap_filter_t *filter | |
| apr_bucket_brigade apr_bucket_brigade const char | __attribute__ ((format(printf, 3, 4))) |
Variables | |
| apr_bucket_brigade * | bucket |
| apr_bucket_brigade ap_input_mode_t | mode |
| apr_bucket_brigade ap_input_mode_t apr_read_type_e | block |
| apr_bucket_brigade ap_input_mode_t apr_read_type_e apr_off_t | readbytes |
| ap_in_filter_func | filter_func |
| ap_in_filter_func ap_init_filter_func | filter_init |
| ap_in_filter_func ap_init_filter_func ap_filter_type | ftype |
| ap_out_filter_func ap_init_filter_func ap_filter_type unsigned int | proto_flags |
| void * | ctx |
| void request_rec * | r |
| void request_rec conn_rec * | c |
| apr_bucket_brigade ** | save_to |
| apr_bucket_brigade apr_bucket_brigade ** | b |
| apr_bucket_brigade apr_bucket_brigade apr_pool_t * | p |
| apr_bucket_brigade * | bb |
| apr_bucket_brigade apr_bucket_brigade const char * | fmt |
Definition in file util_filter.h.
|
|
Returned when??
Definition at line 45 of file util_filter.h. Referenced by AP_CORE_DECLARE_NONSTD(), AP_DECLARE(), APR_OPTIONAL_FN_TYPE(), and ssl_io_filter_Upgrade(). |
|
|
Filter changes contents (so invalidating checksums/etc) Definition at line 573 of file util_filter.h. Referenced by filter_lookup(), and filter_protocol(). |
|
|
Filter changes length of contents (so invalidating content-length/etc) Definition at line 576 of file util_filter.h. Referenced by filter_insert(), filter_lookup(), and filter_protocol(). |
|
|
Filter requires complete input and can't work on byteranges Definition at line 579 of file util_filter.h. Referenced by filter_insert(), filter_lookup(), and filter_protocol(). |
|
|
Filter makes output non-cacheable Definition at line 585 of file util_filter.h. Referenced by filter_lookup(), and filter_protocol(). |
|
|
Filter should not run in a proxy Definition at line 582 of file util_filter.h. Referenced by filter_harness(), filter_lookup(), and filter_protocol(). |
|
|
Filter is incompatible with "Cache-Control: no-transform" Definition at line 588 of file util_filter.h. Referenced by filter_harness(), filter_lookup(), and filter_protocol(). |
|
|
Write a character for the current filter, buffering if possible.
Definition at line 538 of file util_filter.h. Referenced by dav_send_one_response(). |
|
|
Write a buffer for the current filter, buffering if possible.
Definition at line 529 of file util_filter.h. Referenced by dav_begin_multistatus(), dav_finish_multistatus(), and dav_send_one_response(). |
|
|
Write a buffer for the current filter, buffering if possible.
Definition at line 520 of file util_filter.h. Referenced by buffer_output(). |
|
|
Returned by the bottom-most filter if no data was read.
Definition at line 43 of file util_filter.h. Referenced by AP_DECLARE(). |
|
|
Returned by the bottom-most filter if no data was written.
Definition at line 40 of file util_filter.h. |
|
|
|
|
|
Definition at line 202 of file util_filter.h. |
|
|
This is the request-time context structure for an installed filter (in the output filter chain). It provides the callback to use for filtering, the request this filter is associated with (which is important when an output chain also includes sub-request filters), the context for this installed filter, and the filter ordering/chaining fields. Filter callbacks are free to use ->ctx as they please, to store context during the filter process. Generally, this is superior over associating the state directly with the request. A callback should not change any of the other fields. Definition at line 201 of file util_filter.h. |
|
|
Definition at line 101 of file util_filter.h. |
|
|
Definition at line 138 of file util_filter.h. |
|
|
Definition at line 143 of file util_filter.h. |
|
|
Definition at line 136 of file util_filter.h. |
|
|
Filters have different types/classifications. These are used to group and sort the filters to properly sequence their operation. The types have a particular sort order, which allows us to insert them into the filter chain in a determistic order. Within a particular grouping, the ordering is equivalent to the order of calls to ap_add_*_filter().
Definition at line 160 of file util_filter.h. 00160 { 00163 AP_FTYPE_RESOURCE = 10, 00167 AP_FTYPE_CONTENT_SET = 20, 00170 AP_FTYPE_PROTOCOL = 30, 00172 AP_FTYPE_TRANSCODE = 40, 00182 AP_FTYPE_CONNECTION = 50, 00185 AP_FTYPE_NETWORK = 60 00186 } ap_filter_type;
|
|
|
input filtering modes
Definition at line 50 of file util_filter.h. 00050 { 00052 AP_MODE_READBYTES, 00057 AP_MODE_GETLINE, 00059 AP_MODE_EATCRLF, 00062 AP_MODE_SPECULATIVE, 00067 AP_MODE_EXHAUSTIVE, 00071 AP_MODE_INIT 00072 } ap_input_mode_t;
|
|
|
|
|
|
Definition at line 492 of file util_filter.h. |
|
|
Definition at line 559 of file util_filter.h. |
|
|
Definition at line 296 of file util_filter.h. |
|
|
Definition at line 310 of file util_filter.h. Referenced by add_client(), AP_DECLARE(), APR_OPTIONAL_FN_TYPE(), bio_filter_out_write(), cgi_handler(), cgid_handler(), find_ipaddr(), get_client(), ssl_io_filter_error(), ssl_io_filter_input(), ssl_io_filter_output(), and xlate_brigade(). |
|
|
Definition at line 441 of file util_filter.h. |
|
|
Definition at line 374 of file util_filter.h. |
|
|
Definition at line 374 of file util_filter.h. Referenced by filter_declare(), and filter_init(). |
|
|
Definition at line 559 of file util_filter.h. |
|
|
Definition at line 374 of file util_filter.h. |
|
|
Definition at line 570 of file util_filter.h. Referenced by filter_lookup(). |
|
|
Definition at line 441 of file util_filter.h. |
|
|
Definition at line 296 of file util_filter.h. Referenced by ap_proxy_http_process_response(), and proxy_ftp_handler(). |
|
|
Definition at line 492 of file util_filter.h. |