apreq_private_apache2.h revision 1e5905d1f04191cad9dae6117e1508c7f7d5587a
234N/Aextern module AP_MODULE_DECLARE_DATA apreq_module;
234N/A
234N/Astruct dir_config {
234N/A const char *temp_dir;
234N/A apr_uint64_t read_limit;
234N/A apr_size_t brigade_limit;
234N/A};
234N/A
234N/A/* The "warehouse", stored in r->request_config */
234N/Astruct apache2_handle {
234N/A apreq_handle_t handle;
234N/A request_rec *r;
234N/A apr_table_t *jar, *args;
234N/A apr_status_t jar_status, args_status;
234N/A ap_filter_t *f;
234N/A};
234N/A
234N/A/* Tracks the apreq filter state */
234N/Astruct filter_ctx {
234N/A apr_bucket_brigade *bb; /* input brigade that's passed to the parser */
727N/A apr_bucket_brigade *bbtmp; /* temporary copy of bb, destined for the spool */
234N/A apr_bucket_brigade *spool; /* copied prefetch data for downstream filters */
234N/A apreq_parser_t *parser;
234N/A apreq_hook_t *hook_queue;
234N/A apreq_hook_t *find_param;
234N/A apr_table_t *body;
234N/A apr_status_t body_status;
234N/A apr_status_t filter_error;
618N/A apr_uint64_t bytes_read; /* Total bytes read into this filter. */
234N/A apr_uint64_t read_limit; /* Max bytes the filter may show to parser */
234N/A apr_size_t brigade_limit;
844N/A const char *temp_dir;
844N/A};
234N/A
1258N/Aapr_status_t apreq_filter_prefetch(ap_filter_t *f, apr_off_t readbytes);
234N/Aapr_status_t apreq_filter(ap_filter_t *f,
234N/A apr_bucket_brigade *bb,
234N/A ap_input_mode_t mode,
234N/A apr_read_type_e block,
234N/A apr_off_t readbytes);
234N/A
234N/Avoid apreq_filter_make_context(ap_filter_t *f);
234N/Avoid apreq_filter_init_context(ap_filter_t *f);
234N/A
234N/AAPR_INLINE
234N/Astatic void apreq_filter_relocate(ap_filter_t *f)
234N/A{
234N/A request_rec *r = f->r;
234N/A
234N/A if (f != r->input_filters) {
234N/A ap_filter_t *top = r->input_filters;
234N/A ap_remove_input_filter(f);
234N/A r->input_filters = f;
f->next = top;
}
}