Apache HTTPD
Classes | Macros | Typedefs | Functions | Variables
mod_sed.c File Reference
module sed_module
#include "httpd.h"
#include "http_config.h"
#include "http_log.h"
#include "apr_strings.h"
#include "apr_general.h"
#include "util_filter.h"
#include "apr_buckets.h"
#include "http_request.h"
#include "libsed.h"

Go to the source code of this file.

Classes

struct  sed_expr_config
 
struct  sed_config
 
struct  sed_filter_ctxt
 

Macros

#define MODSED_OUTBUF_SIZE   8000
 
#define MAX_TRANSIENT_BUCKETS   50
 

Typedefs

typedef struct sed_expr_config sed_expr_config
 
typedef struct sed_config sed_config
 
typedef struct sed_filter_ctxt sed_filter_ctxt
 

Functions

static apr_status_t log_sed_errf (void *data, const char *error)
 
static apr_status_t sed_compile_errf (void *data, const char *error)
 
static void clear_ctxpool (sed_filter_ctxt *ctx)
 
static void alloc_outbuf (sed_filter_ctxt *ctx)
 
static apr_status_t append_bucket (sed_filter_ctxt *ctx, char *buf, apr_size_t sz)
 
static apr_status_t flush_output_buffer (sed_filter_ctxt *ctx)
 
static apr_status_t sed_write_output (void *dummy, char *buf, apr_size_t sz)
 
static apr_status_t compile_sed_expr (sed_expr_config *sed_cfg, cmd_parms *cmd, const char *expr)
 
static apr_status_t sed_eval_cleanup (void *data)
 
static apr_status_t init_context (ap_filter_t *f, sed_expr_config *sed_cfg, int usetpool)
 
static apr_status_t sed_response_filter (ap_filter_t *f, apr_bucket_brigade *bb)
 
static apr_status_t sed_request_filter (ap_filter_t *f, apr_bucket_brigade *bb, ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes)
 
static const charsed_add_expr (cmd_parms *cmd, void *cfg, const char *arg)
 
static void * create_sed_dir_config (apr_pool_t *p, char *s)
 
static void register_hooks (apr_pool_t *p)
 

Variables

static const charsed_filter_name = "Sed"
 
static const command_rec sed_filter_cmds []
 
static int *const aplog_module_index = &( sed_module.module_index)
 

Macro Definition Documentation

◆ MAX_TRANSIENT_BUCKETS

#define MAX_TRANSIENT_BUCKETS   50

Definition at line 30 of file mod_sed.c.

◆ MODSED_OUTBUF_SIZE

#define MODSED_OUTBUF_SIZE   8000

Definition at line 29 of file mod_sed.c.

Typedef Documentation

◆ sed_config

◆ sed_expr_config

◆ sed_filter_ctxt

Function Documentation

◆ alloc_outbuf()

static void alloc_outbuf ( sed_filter_ctxt ctx)
static

Definition at line 94 of file mod_sed.c.

◆ append_bucket()

static apr_status_t append_bucket ( sed_filter_ctxt ctx,
char buf,
apr_size_t  sz 
)
static

Definition at line 103 of file mod_sed.c.

◆ clear_ctxpool()

static void clear_ctxpool ( sed_filter_ctxt ctx)
static

Definition at line 83 of file mod_sed.c.

◆ compile_sed_expr()

static apr_status_t compile_sed_expr ( sed_expr_config sed_cfg,
cmd_parms cmd,
const char expr 
)
static

Definition at line 206 of file mod_sed.c.

◆ create_sed_dir_config()

static void * create_sed_dir_config ( apr_pool_t p,
char s 
)
static

Definition at line 503 of file mod_sed.c.

◆ flush_output_buffer()

static apr_status_t flush_output_buffer ( sed_filter_ctxt ctx)
static

Definition at line 134 of file mod_sed.c.

◆ init_context()

static apr_status_t init_context ( ap_filter_t f,
sed_expr_config sed_cfg,
int  usetpool 
)
static

Definition at line 241 of file mod_sed.c.

◆ log_sed_errf()

static apr_status_t log_sed_errf ( void *  data,
const char error 
)
static

Definition at line 64 of file mod_sed.c.

◆ register_hooks()

static void register_hooks ( apr_pool_t p)
static

Definition at line 521 of file mod_sed.c.

◆ sed_add_expr()

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

Definition at line 490 of file mod_sed.c.

◆ sed_compile_errf()

static apr_status_t sed_compile_errf ( void *  data,
const char error 
)
static

Definition at line 74 of file mod_sed.c.

◆ sed_eval_cleanup()

static apr_status_t sed_eval_cleanup ( void *  data)
static

Definition at line 232 of file mod_sed.c.

◆ sed_request_filter()

static apr_status_t sed_request_filter ( ap_filter_t f,
apr_bucket_brigade bb,
ap_input_mode_t  mode,
apr_read_type_e  block,
apr_off_t  readbytes 
)
static

Definition at line 382 of file mod_sed.c.

◆ sed_response_filter()

static apr_status_t sed_response_filter ( ap_filter_t f,
apr_bucket_brigade bb 
)
static

Definition at line 276 of file mod_sed.c.

◆ sed_write_output()

static apr_status_t sed_write_output ( void *  dummy,
char buf,
apr_size_t  sz 
)
static

Definition at line 150 of file mod_sed.c.

Variable Documentation

◆ aplog_module_index

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

Definition at line 529 of file mod_sed.c.

◆ sed_filter_cmds

const command_rec sed_filter_cmds[]
static
Initial value:
= {
{ "OutputSed" , sed_add_expr , (void *) ((long) (((char *) (&((( sed_config * )NULL)-> output ))) - ((char *) NULL))) , 64 , TAKE1, "Sed regular expression for Response" },
{ "InputSed" , sed_add_expr , (void *) ((long) (((char *) (&((( sed_config * )NULL)-> input ))) - ((char *) NULL))) , 64 , TAKE1, "Sed regular expression for Request" },
{NULL}
}
@ TAKE1
Definition http_config.h:51
const char * input
Definition apr_cstr.h:93
static const char * sed_add_expr(cmd_parms *cmd, void *cfg, const char *arg)
Definition mod_sed.c:490
return NULL
Definition mod_so.c:359

Definition at line 509 of file mod_sed.c.

◆ sed_filter_name

const char* sed_filter_name = "Sed"
static

Definition at line 28 of file mod_sed.c.