Apache HTTPD
Classes | Macros | Functions | Variables
mod_xml2enc.c File Reference
#include <ctype.h>
#include <libxml/encoding.h>
#include "http_protocol.h"
#include "http_config.h"
#include "http_log.h"
#include "apr_strings.h"
#include "apr_xlate.h"
#include "apr_optional.h"
#include "mod_xml2enc.h"

Go to the source code of this file.

Classes

struct  xml2ctx
 
struct  xml2cfg
 
struct  tattr
 

Macros

#define BUFLEN   8192
 
#define BUF_MIN   4096
 
#define APR_BRIGADE_DO(b, bb)
 
#define ENC_INITIALISED   0x100
 
#define ENC_SEEN_EOS   0x200
 
#define ENC_SKIPTO   ENCIO_SKIPTO
 
#define HAVE_ENCODING(enc)    (((enc)!=XML_CHAR_ENCODING_NONE)&&((enc)!=XML_CHAR_ENCODING_ERROR))
 
#define PROTO_FLAGS   AP_FILTER_PROTO_CHANGE|AP_FILTER_PROTO_CHANGE_LENGTH
 

Functions

static apr_status_t xml2enc_filter (request_rec *r, const char *enc, unsigned int mode)
 
static void fix_skipto (request_rec *r, xml2ctx *ctx)
 
static void sniff_encoding (request_rec *r, xml2ctx *ctx)
 
static apr_status_t xml2enc_filter_init (ap_filter_t *f)
 
static apr_status_t xml2enc_ffunc (ap_filter_t *f, apr_bucket_brigade *bb)
 
static apr_status_t xml2enc_charset (request_rec *r, xmlCharEncoding *encp, const char **encoding)
 
static void xml2enc_hooks (apr_pool_t *pool)
 
static const charset_alias (cmd_parms *cmd, void *CFG, const char *charset, const char *alias)
 
static const charset_default (cmd_parms *cmd, void *CFG, const char *charset)
 
static const charset_skipto (cmd_parms *cmd, void *CFG, const char *arg)
 
static void * xml2enc_config (apr_pool_t *pool, char *x)
 
static void * xml2enc_merge (apr_pool_t *pool, void *BASE, void *ADD)
 
int xml2enc_run_preprocess (ap_filter_t *f, char **bufp, apr_size_t *bytesp)
 

Variables

static ap_regex_tseek_meta_ctype
 
static ap_regex_tseek_charset
 
static const command_rec xml2enc_cmds []
 
static int *const aplog_module_index = &( xml2enc_module.module_index)
 

Macro Definition Documentation

◆ APR_BRIGADE_DO

#define APR_BRIGADE_DO (   b,
  bb 
)
Value:
for (b = APR_BRIGADE_FIRST(bb); \
#define APR_BUCKET_NEXT(e)
#define APR_BRIGADE_SENTINEL(b)
#define APR_BRIGADE_FIRST(b)
apr_pool_t * b
Definition apr_pools.h:529

Definition at line 61 of file mod_xml2enc.c.

◆ BUF_MIN

#define BUF_MIN   4096

Definition at line 60 of file mod_xml2enc.c.

◆ BUFLEN

#define BUFLEN   8192

Definition at line 59 of file mod_xml2enc.c.

◆ ENC_INITIALISED

#define ENC_INITIALISED   0x100

Definition at line 65 of file mod_xml2enc.c.

◆ ENC_SEEN_EOS

#define ENC_SEEN_EOS   0x200

Definition at line 66 of file mod_xml2enc.c.

◆ ENC_SKIPTO

#define ENC_SKIPTO   ENCIO_SKIPTO

Definition at line 67 of file mod_xml2enc.c.

◆ HAVE_ENCODING

#define HAVE_ENCODING (   enc)     (((enc)!=XML_CHAR_ENCODING_NONE)&&((enc)!=XML_CHAR_ENCODING_ERROR))

Definition at line 69 of file mod_xml2enc.c.

◆ PROTO_FLAGS

Definition at line 588 of file mod_xml2enc.c.

Function Documentation

◆ fix_skipto()

static void fix_skipto ( request_rec r,
xml2ctx ctx 
)
static

Definition at line 145 of file mod_xml2enc.c.

◆ set_alias()

static const char * set_alias ( cmd_parms cmd,
void *  CFG,
const char charset,
const char alias 
)
static

< Forbidden in <VirtualHost>

< Forbidden in <Limit>

< Forbidden in <Directory>

< Forbidden in <Location>

< Forbidden in <Files> or <If>

< Forbidden in <Proxy>

Definition at line 602 of file mod_xml2enc.c.

◆ set_default()

static const char * set_default ( cmd_parms cmd,
void *  CFG,
const char charset 
)
static

Definition at line 614 of file mod_xml2enc.c.

◆ set_skipto()

static const char * set_skipto ( cmd_parms cmd,
void *  CFG,
const char arg 
)
static

Definition at line 628 of file mod_xml2enc.c.

◆ sniff_encoding()

static void sniff_encoding ( request_rec r,
xml2ctx ctx 
)
static

Definition at line 183 of file mod_xml2enc.c.

◆ xml2enc_charset()

static apr_status_t xml2enc_charset ( request_rec r,
xmlCharEncoding encp,
const char **  encoding 
)
static

Definition at line 576 of file mod_xml2enc.c.

◆ xml2enc_config()

static void * xml2enc_config ( apr_pool_t pool,
char x 
)
static

Definition at line 648 of file mod_xml2enc.c.

◆ xml2enc_ffunc()

static apr_status_t xml2enc_ffunc ( ap_filter_t f,
apr_bucket_brigade bb 
)
static

Definition at line 318 of file mod_xml2enc.c.

◆ xml2enc_filter()

static apr_status_t xml2enc_filter ( request_rec r,
const char enc,
unsigned int  mode 
)
static

Definition at line 102 of file mod_xml2enc.c.

◆ xml2enc_filter_init()

static apr_status_t xml2enc_filter_init ( ap_filter_t f)
static

Definition at line 304 of file mod_xml2enc.c.

◆ xml2enc_hooks()

static void xml2enc_hooks ( apr_pool_t pool)
static

unused

use a case-insensitive match

unused

use a case-insensitive match

Definition at line 589 of file mod_xml2enc.c.

◆ xml2enc_merge()

static void * xml2enc_merge ( apr_pool_t pool,
void *  BASE,
void *  ADD 
)
static

Definition at line 655 of file mod_xml2enc.c.

◆ xml2enc_run_preprocess()

int xml2enc_run_preprocess ( ap_filter_t f,
char **  bufp,
apr_size_t bytesp 
)

< Module has handled this stage.

< Module has handled this stage.

< Module declines to handle

< Module has handled this stage.

Definition at line 680 of file mod_xml2enc.c.

Variable Documentation

◆ aplog_module_index

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

Definition at line 668 of file mod_xml2enc.c.

◆ seek_charset

ap_regex_t* seek_charset
static

Definition at line 100 of file mod_xml2enc.c.

◆ seek_meta_ctype

ap_regex_t* seek_meta_ctype
static

Definition at line 99 of file mod_xml2enc.c.

◆ xml2enc_cmds

const command_rec xml2enc_cmds[]
static
Initial value:
= {
{ "xml2EncDefault" , set_default , NULL , ( 1 | 2 | 4 | 8 | 16 ) , TAKE1, "Usage: xml2EncDefault charset" },
{ "xml2EncAlias" , set_alias , NULL , 128 , ITERATE2, "EncodingAlias charset alias [more aliases]" },
{ "xml2StartParse" , set_skipto , NULL , ( 1 | 2 | 4 | 8 | 16 ) , ITERATE, "Ignore anything in front of the first of these elements" },
{ NULL }
}
@ TAKE1
Definition http_config.h:51
@ ITERATE
Definition http_config.h:53
@ ITERATE2
Definition http_config.h:56
return NULL
Definition mod_so.c:359
static const char * set_alias(cmd_parms *cmd, void *CFG, const char *charset, const char *alias)
static const char * set_skipto(cmd_parms *cmd, void *CFG, const char *arg)
static const char * set_default(cmd_parms *cmd, void *CFG, const char *charset)

Definition at line 639 of file mod_xml2enc.c.