36#define DATA_FILTER "DATA"
38module AP_MODULE_DECLARE_DATA data_module;
77 const char *content_length;
104 type ?
type :
"", charset ? charset :
"");
107 if (content_length) {
136 char encoded[((
sizeof(
ctx->overflow)) / 3) * 4 + 1];
197 while (
size &&
ctx->count &&
ctx->count <
sizeof(
ctx->overflow)) {
201 if (
ctx->count ==
sizeof(
ctx->overflow)) {
203 sizeof(
ctx->overflow));
209 tail =
size %
sizeof(
ctx->overflow);
213 (
const unsigned char *)
data,
size);
Symbol export macros and hook functions.
const char apr_size_t len
APR-UTIL Base64 Encoding.
APR-UTIL Buckets/Bucket Brigades.
APR general purpose library routines.
#define AP_DECLARE_MODULE(foo)
apr_status_t ap_pass_brigade(ap_filter_t *filter, apr_bucket_brigade *bucket)
ap_filter_rec_t * ap_register_output_filter(const char *name, ap_out_filter_func filter_func, ap_init_filter_func filter_init, ap_filter_type ftype)
void ap_remove_output_filter(ap_filter_t *f)
void ap_set_content_length(request_rec *r, apr_off_t length)
void ap_set_content_type_ex(request_rec *r, const char *ct, int trusted)
int ap_is_initial_req(request_rec *r)
#define APR_BUCKET_IS_FLUSH(e)
#define APR_BUCKET_REMOVE(e)
#define APR_BUCKET_IS_METADATA(e)
#define APR_BRIGADE_INSERT_TAIL(b, e)
#define APR_BUCKET_BUFF_SIZE
#define APR_BRIGADE_EMPTY(b)
#define apr_bucket_delete(e)
#define APR_BUCKET_IS_EOS(e)
apr_brigade_flush void * ctx
#define APR_BRIGADE_FIRST(b)
#define apr_bucket_read(e, str, len, block)
#define STANDARD20_MODULE_STUFF
int ap_parse_strict_length(apr_off_t *len, const char *str)
#define apr_pcalloc(p, size)
static apr_status_t data_out_filter(ap_filter_t *f, apr_bucket_brigade *bb)
static const command_rec data_cmds[]
static void register_hooks(apr_pool_t *p)
The representation of a filter chain.
unsigned char overflow[3]
A structure that represents the current request.
const char * content_type
apr_table_t * headers_out