Apache HTTPD
Classes | Macros | Typedefs | Functions | Variables
mod_substitute.c File Reference
#include "httpd.h"
#include "http_config.h"
#include "http_core.h"
#include "http_log.h"
#include "apr_general.h"
#include "apr_strings.h"
#include "apr_strmatch.h"
#include "apr_lib.h"
#include "util_filter.h"
#include "util_varbuf.h"
#include "apr_buckets.h"
#include "http_request.h"
#include "apr_want.h"

Go to the source code of this file.

Classes

struct  subst_pattern_t
 
struct  subst_dir_conf
 
struct  substitute_module_ctx
 

Macros

#define APR_WANT_STRFUNC
 
#define AP_SUBST_MAX_LINE_LENGTH   (1024*1024)
 
#define AP_MAX_BUCKETS   1000
 
#define SEDRMPATBCKT(b, offset, tmp_b, patlen)
 
#define CAP2LINEMAX(n)   ((n) < (apr_size_t)200 ? (int)(n) : 200)
 
#define KBYTE   1024
 
#define MBYTE   1048576
 
#define GBYTE   1073741824
 
#define PROTO_FLAGS   AP_FILTER_PROTO_CHANGE|AP_FILTER_PROTO_CHANGE_LENGTH
 

Typedefs

typedef struct subst_pattern_t subst_pattern_t
 

Functions

static void * create_substitute_dcfg (apr_pool_t *p, char *d)
 
static void * merge_substitute_dcfg (apr_pool_t *p, void *basev, void *overv)
 
static apr_status_t do_pattmatch (ap_filter_t *f, apr_bucket *inb, apr_bucket_brigade *mybb, apr_pool_t *pool)
 
static apr_status_t substitute_filter (ap_filter_t *f, apr_bucket_brigade *bb)
 
static const charset_pattern (cmd_parms *cmd, void *cfg, const char *line)
 
static const charset_max_line_length (cmd_parms *cmd, void *cfg, const char *arg)
 
static void register_hooks (apr_pool_t *pool)
 

Variables

static const char substitute_filter_name [] = "SUBSTITUTE"
 
static const command_rec substitute_cmds []
 
static int *const aplog_module_index = &( substitute_module.module_index)
 

Macro Definition Documentation

◆ AP_MAX_BUCKETS

#define AP_MAX_BUCKETS   1000

Definition at line 115 of file mod_substitute.c.

◆ AP_SUBST_MAX_LINE_LENGTH

#define AP_SUBST_MAX_LINE_LENGTH   (1024*1024)

Definition at line 41 of file mod_substitute.c.

◆ APR_WANT_STRFUNC

#define APR_WANT_STRFUNC

Definition at line 33 of file mod_substitute.c.

◆ CAP2LINEMAX

#define CAP2LINEMAX (   n)    ((n) < (apr_size_t)200 ? (int)(n) : 200)

Definition at line 125 of file mod_substitute.c.

◆ GBYTE

#define GBYTE   1073741824

Definition at line 704 of file mod_substitute.c.

◆ KBYTE

#define KBYTE   1024

Definition at line 702 of file mod_substitute.c.

◆ MBYTE

#define MBYTE   1048576

Definition at line 703 of file mod_substitute.c.

◆ PROTO_FLAGS

Definition at line 740 of file mod_substitute.c.

◆ SEDRMPATBCKT

#define SEDRMPATBCKT (   b,
  offset,
  tmp_b,
  patlen 
)
Value:
do { \
} while (0)
#define APR_BUCKET_NEXT(e)
apr_size_t size
apr_seek_where_t apr_off_t * offset
apr_pool_t * b
Definition apr_pools.h:529

Definition at line 117 of file mod_substitute.c.

Typedef Documentation

◆ subst_pattern_t

Function Documentation

◆ create_substitute_dcfg()

static void * create_substitute_dcfg ( apr_pool_t p,
char d 
)
static

Definition at line 72 of file mod_substitute.c.

◆ do_pattmatch()

static apr_status_t do_pattmatch ( ap_filter_t f,
apr_bucket inb,
apr_bucket_brigade mybb,
apr_pool_t pool 
)
static

Definition at line 127 of file mod_substitute.c.

◆ merge_substitute_dcfg()

static void * merge_substitute_dcfg ( apr_pool_t p,
void *  basev,
void *  overv 
)
static

Definition at line 84 of file mod_substitute.c.

◆ register_hooks()

static void register_hooks ( apr_pool_t pool)
static

Definition at line 741 of file mod_substitute.c.

◆ set_max_line_length()

static const char * set_max_line_length ( cmd_parms cmd,
void *  cfg,
const char arg 
)
static

Definition at line 706 of file mod_substitute.c.

◆ set_pattern()

static const char * set_pattern ( cmd_parms cmd,
void *  cfg,
const char line 
)
static

< Don't implicitely add AP_REG_DEFAULT options

use a case-insensitive match

Definition at line 609 of file mod_substitute.c.

◆ substitute_filter()

static apr_status_t substitute_filter ( ap_filter_t f,
apr_bucket_brigade bb 
)
static

Definition at line 365 of file mod_substitute.c.

Variable Documentation

◆ aplog_module_index

int* const aplog_module_index = &( substitute_module.module_index)
static

Definition at line 758 of file mod_substitute.c.

◆ substitute_cmds

const command_rec substitute_cmds[]
static
Initial value:
= {
{ "Substitute" , set_pattern , NULL , 4 , TAKE1, "Pattern to filter the response content (s/foo/bar/[inf])" },
{ "SubstituteMaxLineLength" , set_max_line_length , NULL , 4 , TAKE1, "Maximum line length" },
{ "SubstituteInheritBefore" , ap_set_flag_slot , (void *)((long) (((char *) (&((( subst_dir_conf * )NULL)-> inherit_before ))) - ((char *) NULL))) , 4 , FLAG, "Apply inherited patterns before those of the current context" },
{NULL}
}
const char * ap_set_flag_slot(cmd_parms *cmd, void *struct_ptr, int arg)
Definition config.c:1512
@ TAKE1
Definition http_config.h:51
@ FLAG
Definition http_config.h:59
return NULL
Definition mod_so.c:359
static const char * set_pattern(cmd_parms *cmd, void *cfg, const char *line)
static const char * set_max_line_length(cmd_parms *cmd, void *cfg, const char *arg)

Definition at line 747 of file mod_substitute.c.

◆ substitute_filter_name

const char substitute_filter_name[] = "SUBSTITUTE"
static

Definition at line 43 of file mod_substitute.c.