Apache HTTPD
Classes | Macros | Typedefs | Enumerations | Functions | Variables
mod_proxy_http.c File Reference
#include "mod_proxy.h"
#include "ap_regex.h"

Go to the source code of this file.

Classes

struct  header_dptr
 
struct  proxy_http_req_t
 

Macros

#define ZERO_ASCII   "\060"
 
#define MAX_MEM_SPOOL   16384
 
#define AP_MAX_INTERIM_RESPONSES   10
 

Typedefs

typedef struct header_dptr header_dptr
 

Enumerations

enum  rb_methods { RB_INIT = 0 , RB_STREAM_CL , RB_STREAM_CHUNKED , RB_SPOOL_CL }
 

Functions

static apr_status_t ap_proxy_http_cleanup (const char *scheme, request_rec *r, proxy_conn_rec *backend)
 
static apr_status_t ap_proxygetline (apr_bucket_brigade *bb, char *s, int n, request_rec *r, int flags, int *read)
 
static const charget_url_scheme (const char **url, int *is_ssl)
 
static int proxy_http_canon (request_rec *r, char *url)
 
static int clean_warning_headers (void *data, const char *key, const char *val)
 
static apr_table_tap_proxy_clean_warnings (apr_pool_t *p, apr_table_t *headers)
 
static void add_te_chunked (apr_pool_t *p, apr_bucket_alloc_t *bucket_alloc, apr_bucket_brigade *header_brigade)
 
static void add_cl (apr_pool_t *p, apr_bucket_alloc_t *bucket_alloc, apr_bucket_brigade *header_brigade, const char *cl_val)
 
static int stream_reqbody (proxy_http_req_t *req)
 
static void terminate_headers (proxy_http_req_t *req)
 
static int ap_proxy_http_prefetch (proxy_http_req_t *req, apr_uri_t *uri, char *url)
 
static int ap_proxy_http_request (proxy_http_req_t *req)
 
static const chardate_canon (apr_pool_t *p, const char *date)
 
static request_recmake_fake_req (conn_rec *c, request_rec *r)
 
static void process_proxy_header (request_rec *r, proxy_dir_conf *c, const char *key, const char *value)
 
static apr_status_t ap_proxy_read_headers (request_rec *r, request_rec *rr, char *buffer, int size, conn_rec *c, int *pread_len)
 
static int addit_dammit (void *v, const char *key, const char *val)
 
static int add_trailers (void *data, const char *key, const char *val)
 
static int send_continue_body (proxy_http_req_t *req)
 
static int ap_proxy_http_process_response (proxy_http_req_t *req)
 
static int proxy_http_handler (request_rec *r, proxy_worker *worker, proxy_server_conf *conf, char *url, const char *proxyname, apr_port_t proxyport)
 
static int proxy_http_post_config (apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
 
static void ap_proxy_http_register_hook (apr_pool_t *p)
 

Variables

static int(* ap_proxy_clear_connection_fn )(request_rec *r, apr_table_t *headers)
 
static ap_regex_twarn_rx
 
static int *const aplog_module_index = &( proxy_http_module.module_index)
 

Macro Definition Documentation

◆ AP_MAX_INTERIM_RESPONSES

#define AP_MAX_INTERIM_RESPONSES   10

Definition at line 974 of file mod_proxy_http.c.

◆ MAX_MEM_SPOOL

#define MAX_MEM_SPOOL   16384

Definition at line 285 of file mod_proxy_http.c.

◆ ZERO_ASCII

#define ZERO_ASCII   "\060"

Definition at line 282 of file mod_proxy_http.c.

Typedef Documentation

◆ header_dptr

Enumeration Type Documentation

◆ rb_methods

Enumerator
RB_INIT 
RB_STREAM_CL 
RB_STREAM_CHUNKED 
RB_SPOOL_CL 

Definition at line 287 of file mod_proxy_http.c.

Function Documentation

◆ add_cl()

static void add_cl ( apr_pool_t p,
apr_bucket_alloc_t bucket_alloc,
apr_bucket_brigade header_brigade,
const char cl_val 
)
static

Definition at line 261 of file mod_proxy_http.c.

◆ add_te_chunked()

static void add_te_chunked ( apr_pool_t p,
apr_bucket_alloc_t bucket_alloc,
apr_bucket_brigade header_brigade 
)
static

Definition at line 246 of file mod_proxy_http.c.

◆ add_trailers()

static int add_trailers ( void *  data,
const char key,
const char val 
)
static

Definition at line 977 of file mod_proxy_http.c.

◆ addit_dammit()

static int addit_dammit ( void *  v,
const char key,
const char val 
)
static

Definition at line 943 of file mod_proxy_http.c.

◆ ap_proxy_clean_warnings()

static apr_table_t * ap_proxy_clean_warnings ( apr_pool_t p,
apr_table_t headers 
)
static

Definition at line 230 of file mod_proxy_http.c.

◆ ap_proxy_http_cleanup()

static apr_status_t ap_proxy_http_cleanup ( const char scheme,
request_rec r,
proxy_conn_rec backend 
)
static

< Module has handled this stage.

Definition at line 1854 of file mod_proxy_http.c.

◆ ap_proxy_http_prefetch()

static int ap_proxy_http_prefetch ( proxy_http_req_t req,
apr_uri_t uri,
char url 
)
static

< Module has handled this stage.

< Module has handled this stage.

< Module has handled this stage.

< Module has handled this stage.

Definition at line 474 of file mod_proxy_http.c.

◆ ap_proxy_http_process_response()

static int ap_proxy_http_process_response ( proxy_http_req_t req)
static

< Module has handled this stage.

< Origin response

< Reverse proxy

< Module has handled this stage.

< Module has handled this stage.

< Module has handled this stage.

< Module has served the response completely * - it's safe to die() with no more output

< Module has served the response completely * - it's safe to die() with no more output

< Module has handled this stage.

Definition at line 1016 of file mod_proxy_http.c.

◆ ap_proxy_http_register_hook()

static void ap_proxy_http_register_hook ( apr_pool_t p)
static

Definition at line 2127 of file mod_proxy_http.c.

◆ ap_proxy_http_request()

static int ap_proxy_http_request ( proxy_http_req_t req)
static

< Module has handled this stage.

< Module has handled this stage.

Definition at line 670 of file mod_proxy_http.c.

◆ ap_proxy_read_headers()

static apr_status_t ap_proxy_read_headers ( request_rec r,
request_rec rr,
char buffer,
int  size,
conn_rec c,
int pread_len 
)
static

Definition at line 814 of file mod_proxy_http.c.

◆ ap_proxygetline()

static apr_status_t ap_proxygetline ( apr_bucket_brigade bb,
char s,
int  n,
request_rec r,
int  flags,
int read 
)
static

Definition at line 949 of file mod_proxy_http.c.

◆ clean_warning_headers()

static int clean_warning_headers ( void *  data,
const char key,
const char val 
)
static

Definition at line 182 of file mod_proxy_http.c.

◆ date_canon()

static const char * date_canon ( apr_pool_t p,
const char date 
)
static

Definition at line 713 of file mod_proxy_http.c.

◆ get_url_scheme()

static const char * get_url_scheme ( const char **  url,
int is_ssl 
)
static

Definition at line 34 of file mod_proxy_http.c.

◆ make_fake_req()

static request_rec * make_fake_req ( conn_rec c,
request_rec r 
)
static

Definition at line 732 of file mod_proxy_http.c.

◆ process_proxy_header()

static void process_proxy_header ( request_rec r,
proxy_dir_conf c,
const char key,
const char value 
)
static

Definition at line 772 of file mod_proxy_http.c.

◆ proxy_http_canon()

static int proxy_http_canon ( request_rec r,
char url 
)
static

< Module declines to handle

< Reverse proxy

< Standard proxy

< Module has handled this stage.

Definition at line 81 of file mod_proxy_http.c.

◆ proxy_http_handler()

static int proxy_http_handler ( request_rec r,
proxy_worker worker,
proxy_server_conf conf,
char url,
const char proxyname,
apr_port_t  proxyport 
)
static

< Module declines to handle

< Module declines to handle

< Module has handled this stage.

< Reverse proxy

< Reverse proxy

< Module has handled this stage.

< Module has handled this stage.

< Module has handled this stage.

< Module has handled this stage.

Definition at line 1870 of file mod_proxy_http.c.

◆ proxy_http_post_config()

static int proxy_http_post_config ( apr_pool_t pconf,
apr_pool_t plog,
apr_pool_t ptemp,
server_rec s 
)
static

< Module has handled this stage.

< Module has handled this stage.

< Module has handled this stage.

Definition at line 2106 of file mod_proxy_http.c.

◆ send_continue_body()

static int send_continue_body ( proxy_http_req_t req)
static

< Module has handled this stage.

Definition at line 985 of file mod_proxy_http.c.

◆ stream_reqbody()

static int stream_reqbody ( proxy_http_req_t req)
static

< Module has handled this stage.

< Module has handled this stage.

< Module has handled this stage.

< Module has handled this stage.

Definition at line 320 of file mod_proxy_http.c.

◆ terminate_headers()

static void terminate_headers ( proxy_http_req_t req)
static

Definition at line 437 of file mod_proxy_http.c.

Variable Documentation

◆ ap_proxy_clear_connection_fn

int(* ap_proxy_clear_connection_fn) (request_rec *r, apr_table_t *headers) ( request_rec r,
apr_table_t headers 
)
static
Initial value:
=
return NULL
Definition mod_so.c:359

Definition at line 24 of file mod_proxy_http.c.

◆ aplog_module_index

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

Definition at line 2135 of file mod_proxy_http.c.

◆ warn_rx

ap_regex_t* warn_rx
static

Definition at line 181 of file mod_proxy_http.c.