24#define RATE_LIMIT_FILTER_NAME "RATE_LIMIT"
25#define RATE_INTERVAL_MS (200)
73 if (
f->r->main !=
NULL) {
91 APLOGNO(03488)
"rl: disabling: rate-limit = %s (too high?)",
rl);
102 APLOGNO(03489)
"rl: disabling burst: rate-initial-burst = %s (too high?)",
rl);
146 "rl: full speed brigade pass failed.");
175 "rl: partition failed.");
236 "rl: brigade pass failed.");
304 "RL_END", 5, APR_BUCKET_METADATA,
314 "RL_START", 5, APR_BUCKET_METADATA,
const char apr_size_t len
#define AP_DECLARE_MODULE(foo)
apr_status_t ap_pass_brigade(ap_filter_t *filter, apr_bucket_brigade *bucket)
apr_status_t ap_save_brigade(ap_filter_t *f, apr_bucket_brigade **save_to, apr_bucket_brigade **b, apr_pool_t *p)
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)
#define APR_BUCKET_INIT(e)
#define APR_BUCKET_IS_FLUSH(e)
#define APR_BRIGADE_LAST(b)
#define APR_BUCKET_IS_METADATA(e)
#define APR_BRIGADE_PREPEND(a, b)
#define APR_BRIGADE_INSERT_TAIL(b, e)
#define APR_BUCKET_NEXT(e)
#define APR_BRIGADE_CONCAT(a, b)
#define APR_BRIGADE_EMPTY(b)
#define APR_BRIGADE_SENTINEL(b)
#define APR_BUCKET_IS_EOS(e)
apr_brigade_flush void * ctx
#define APR_BRIGADE_FIRST(b)
#define STANDARD20_MODULE_STUFF
const apr_array_header_t * list
const apr_bucket_type_t ap_rl_bucket_type_end
#define RATE_LIMIT_FILTER_NAME
apr_bucket * ap_rl_end_create(apr_bucket_alloc_t *list)
static void register_hooks(apr_pool_t *p)
const apr_bucket_type_t ap_rl_bucket_type_start
static apr_status_t rate_limit_filter(ap_filter_t *f, apr_bucket_brigade *bb)
static apr_status_t rl_bucket_read(apr_bucket *b, const char **str, apr_size_t *len, apr_read_type_e block)
apr_bucket * ap_rl_start_create(apr_bucket_alloc_t *list)
#define AP_RL_BUCKET_IS_END(e)
#define AP_RL_BUCKET_IS_START(e)
#define AP_RL_DECLARE(type)
#define AP_RL_DECLARE_DATA
The representation of a filter chain.
const apr_bucket_type_t * type
A structure that represents the current request.
apr_bucket_brigade * holdingbb
apr_bucket_brigade * tmpbb