Apache HTTPD
Classes | Macros | Typedefs | Functions | Variables
mod_data.c File Reference
#include "apr.h"
#include "apr_strings.h"
#include "apr_buckets.h"
#include "apr_base64.h"
#include "apr_lib.h"
#include "ap_config.h"
#include "util_filter.h"
#include "httpd.h"
#include "http_config.h"
#include "http_log.h"
#include "http_request.h"
#include "http_protocol.h"

Go to the source code of this file.

Classes

struct  data_ctx
 

Macros

#define DATA_FILTER   "DATA"
 

Typedefs

typedef struct data_ctx data_ctx
 

Functions

static apr_status_t data_out_filter (ap_filter_t *f, apr_bucket_brigade *bb)
 
static void register_hooks (apr_pool_t *p)
 

Variables

static const command_rec data_cmds [] = { { NULL } }
 
static int *const aplog_module_index = &( data_module.module_index)
 

Macro Definition Documentation

◆ DATA_FILTER

#define DATA_FILTER   "DATA"

Definition at line 36 of file mod_data.c.

Typedef Documentation

◆ data_ctx

Function Documentation

◆ data_out_filter()

static apr_status_t data_out_filter ( ap_filter_t f,
apr_bucket_brigade bb 
)
static

Create a data URL as follows:

data:[<mime-type>;][charset=<charset>;]base64,<payload>

Where:

mime-type: The mime type of the original response. charset: The optional character set corresponding to the mime type. payload: A base64 version of the response body.

The content type of the response is set to text/plain.

The Content-Length header, if present, is updated with the new content length based on the increase in size expected from the base64 conversion. If the Content-Length header is too large to fit into an int, we remove the Content-Length header instead.

Definition at line 65 of file mod_data.c.

◆ register_hooks()

static void register_hooks ( apr_pool_t p)
static

Definition at line 243 of file mod_data.c.

Variable Documentation

◆ aplog_module_index

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

Definition at line 248 of file mod_data.c.

◆ data_cmds

const command_rec data_cmds[] = { { NULL } }
static

Definition at line 241 of file mod_data.c.