Apache HTTPD
Classes | Macros | Typedefs | Enumerations | Functions | Variables
http_protocol.h File Reference

HTTP protocol handling. More...

#include "httpd.h"
#include "apr_portable.h"
#include "apr_mmap.h"
#include "apr_buckets.h"
#include "util_filter.h"

Go to the source code of this file.

Classes

struct  ap_LINK_insert_error_filter_t
 
struct  etag_rec
 A structure with the ingredients for a file based etag. More...
 
struct  ap_LINK_note_auth_failure_t
 
struct  ap_LINK_pre_read_request_t
 
struct  ap_LINK_post_read_request_t
 
struct  ap_LINK_log_transaction_t
 
struct  ap_LINK_http_scheme_t
 
struct  ap_LINK_default_port_t
 
struct  ap_LINK_protocol_propose_t
 
struct  ap_LINK_protocol_switch_t
 
struct  ap_LINK_protocol_get_t
 
struct  ap_bucket_error
 A bucket referring to an HTTP error. More...
 

Macros

#define AP_METHOD_CHECK_ALLOWED(mask, methname)    ((mask) & (AP_METHOD_BIT << ap_method_number_of((methname))))
 
#define AP_GET_BASIC_AUTH_PW_NOTE   "AP_GET_BASIC_AUTH_PW_NOTE"
 
#define AP_GETLINE_FOLD   1 /* Whether to merge continuation lines */
 
#define AP_GETLINE_CRLF   2 /* Whether line ends must be in the form CR LF */
 
#define AP_GETLINE_NOSPC_EOL
 
#define ap_rgetline(s, n, read, r, fold, bb)    ap_rgetline_core((s), (n), (read), (r), (fold), (bb))
 
#define AP_PROTOCOL_HTTP1   "http/1.1"
 
#define AP_BUCKET_IS_ERROR(e)   (e->type == &ap_bucket_type_error)
 

Typedefs

typedef void ap_HOOK_insert_error_filter_t(request_rec *r)
 
typedef struct ap_LINK_insert_error_filter_t ap_LINK_insert_error_filter_t
 
typedef struct etag_rec etag_rec
 
typedef int ap_HOOK_note_auth_failure_t(request_rec *r, const char *auth_type)
 
typedef struct ap_LINK_note_auth_failure_t ap_LINK_note_auth_failure_t
 
typedef void ap_HOOK_pre_read_request_t(request_rec *r, conn_rec *c)
 
typedef struct ap_LINK_pre_read_request_t ap_LINK_pre_read_request_t
 
typedef int ap_HOOK_post_read_request_t(request_rec *r)
 
typedef struct ap_LINK_post_read_request_t ap_LINK_post_read_request_t
 
typedef int ap_HOOK_log_transaction_t(request_rec *r)
 
typedef struct ap_LINK_log_transaction_t ap_LINK_log_transaction_t
 
typedef const charap_HOOK_http_scheme_t(const request_rec *r)
 
typedef struct ap_LINK_http_scheme_t ap_LINK_http_scheme_t
 
typedef apr_port_t ap_HOOK_default_port_t(const request_rec *r)
 
typedef struct ap_LINK_default_port_t ap_LINK_default_port_t
 
typedef int ap_HOOK_protocol_propose_t(conn_rec *c, request_rec *r, server_rec *s, const apr_array_header_t *offers, apr_array_header_t *proposals)
 
typedef struct ap_LINK_protocol_propose_t ap_LINK_protocol_propose_t
 
typedef int ap_HOOK_protocol_switch_t(conn_rec *c, request_rec *r, server_rec *s, const char *protocol)
 
typedef struct ap_LINK_protocol_switch_t ap_LINK_protocol_switch_t
 
typedef const charap_HOOK_protocol_get_t(const conn_rec *c)
 
typedef struct ap_LINK_protocol_get_t ap_LINK_protocol_get_t
 
typedef struct ap_bucket_error ap_bucket_error
 

Enumerations

enum  ap_condition_e { AP_CONDITION_NONE , AP_CONDITION_NOMATCH , AP_CONDITION_WEAK , AP_CONDITION_STRONG }
 

Functions

void ap_hook_insert_error_filter (ap_HOOK_insert_error_filter_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
 
void ap_run_insert_error_filter (request_rec *r)
 
apr_array_header_tap_hook_get_insert_error_filter (void)
 
request_recap_create_request (conn_rec *c)
 
request_recap_read_request (conn_rec *c)
 
int ap_parse_request_line (request_rec *r)
 
int ap_check_request_header (request_rec *r)
 
void ap_get_mime_headers (request_rec *r)
 
void ap_get_mime_headers_core (request_rec *r, apr_bucket_brigade *bb)
 
int ap_post_read_request (request_rec *r)
 
void ap_finalize_request_protocol (request_rec *r)
 
void ap_send_error_response (request_rec *r, int recursive_error)
 
void ap_set_content_length (request_rec *r, apr_off_t length)
 
int ap_set_keepalive (request_rec *r)
 
apr_time_t ap_rationalize_mtime (request_rec *r, apr_time_t mtime)
 
const charap_make_content_type (request_rec *r, const char *type)
 
void ap_setup_make_content_type (apr_pool_t *pool)
 
charap_make_etag (request_rec *r, int force_weak)
 
charap_make_etag_ex (request_rec *r, etag_rec *er)
 
void ap_set_etag (request_rec *r)
 
void ap_set_etag_fd (request_rec *r, apr_file_t *fd)
 
void ap_set_last_modified (request_rec *r)
 
ap_condition_e ap_condition_if_match (request_rec *r, apr_table_t *headers)
 
ap_condition_e ap_condition_if_unmodified_since (request_rec *r, apr_table_t *headers)
 
ap_condition_e ap_condition_if_none_match (request_rec *r, apr_table_t *headers)
 
ap_condition_e ap_condition_if_modified_since (request_rec *r, apr_table_t *headers)
 
ap_condition_e ap_condition_if_range (request_rec *r, apr_table_t *headers)
 
int ap_meets_conditions (request_rec *r)
 
apr_status_t ap_send_fd (apr_file_t *fd, request_rec *r, apr_off_t offset, apr_size_t length, apr_size_t *nbytes)
 
int ap_method_register (apr_pool_t *p, const char *methname)
 
void ap_method_registry_init (apr_pool_t *p)
 
ap_method_list_tap_make_method_list (apr_pool_t *p, int nelts)
 
void ap_copy_method_list (ap_method_list_t *dest, ap_method_list_t *src)
 
int ap_method_in_list (ap_method_list_t *l, const char *method)
 
void ap_method_list_add (ap_method_list_t *l, const char *method)
 
void ap_method_list_remove (ap_method_list_t *l, const char *method)
 
void ap_clear_method_list (ap_method_list_t *l)
 
void ap_set_content_type (request_rec *r, const char *ct)
 
void ap_set_content_type_ex (request_rec *r, const char *ct, int trusted)
 
void ap_set_accept_ranges (request_rec *r)
 
int ap_rputc (int c, request_rec *r)
 
int ap_rwrite (const void *buf, int nbyte, request_rec *r)
 
static APR_INLINE int ap_rputs (const char *str, request_rec *r)
 
int ap_rvputs (request_rec *r,...)
 
int ap_vrprintf (request_rec *r, const char *fmt, va_list vlist)
 
int ap_rprintf (request_rec *r, const char *fmt,...) __attribute__((format(printf
 
int int ap_rflush (request_rec *r)
 
int ap_index_of_response (int status)
 
const charap_get_status_line (int status)
 
const charap_get_status_line_ex (apr_pool_t *p, int status)
 
int ap_setup_client_block (request_rec *r, int read_policy)
 
int ap_should_client_block (request_rec *r)
 
long ap_get_client_block (request_rec *r, char *buffer, apr_size_t bufsiz)
 
int ap_map_http_request_error (apr_status_t rv, int status)
 
int ap_discard_request_body (request_rec *r)
 
void ap_note_auth_failure (request_rec *r)
 
void ap_note_basic_auth_failure (request_rec *r)
 
void ap_note_digest_auth_failure (request_rec *r)
 
void ap_hook_note_auth_failure (ap_HOOK_note_auth_failure_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
 
int ap_run_note_auth_failure (request_rec *r, const char *auth_type)
 
apr_array_header_tap_hook_get_note_auth_failure (void)
 
int ap_get_basic_auth_pw (request_rec *r, const char **pw)
 
apr_status_t ap_get_basic_auth_components (const request_rec *r, const char **username, const char **password)
 
void ap_parse_uri (request_rec *r, const char *uri)
 
int ap_getline (char *s, int n, request_rec *r, int flags)
 
apr_status_t ap_rgetline_core (char **s, apr_size_t n, apr_size_t *read, request_rec *r, int flags, apr_bucket_brigade *bb)
 
int ap_method_number_of (const char *method)
 
const charap_method_name_of (apr_pool_t *p, int methnum)
 
void ap_hook_pre_read_request (ap_HOOK_pre_read_request_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
 
void ap_run_pre_read_request (request_rec *r, conn_rec *c)
 
apr_array_header_tap_hook_get_pre_read_request (void)
 
void ap_hook_post_read_request (ap_HOOK_post_read_request_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
 
int ap_run_post_read_request (request_rec *r)
 
apr_array_header_tap_hook_get_post_read_request (void)
 
void ap_hook_log_transaction (ap_HOOK_log_transaction_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
 
int ap_run_log_transaction (request_rec *r)
 
apr_array_header_tap_hook_get_log_transaction (void)
 
void ap_hook_http_scheme (ap_HOOK_http_scheme_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
 
const charap_run_http_scheme (const request_rec *r)
 
apr_array_header_tap_hook_get_http_scheme (void)
 
void ap_hook_default_port (ap_HOOK_default_port_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
 
apr_port_t ap_run_default_port (const request_rec *r)
 
apr_array_header_tap_hook_get_default_port (void)
 
void ap_hook_protocol_propose (ap_HOOK_protocol_propose_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
 
int ap_run_protocol_propose (conn_rec *c, request_rec *r, server_rec *s, const apr_array_header_t *offers, apr_array_header_t *proposals)
 
apr_array_header_tap_hook_get_protocol_propose (void)
 
void ap_hook_protocol_switch (ap_HOOK_protocol_switch_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
 
int ap_run_protocol_switch (conn_rec *c, request_rec *r, server_rec *s, const char *protocol)
 
apr_array_header_tap_hook_get_protocol_switch (void)
 
void ap_hook_protocol_get (ap_HOOK_protocol_get_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
 
const charap_run_protocol_get (const conn_rec *c)
 
apr_array_header_tap_hook_get_protocol_get (void)
 
apr_status_t ap_get_protocol_upgrades (conn_rec *c, request_rec *r, server_rec *s, int report_all, const apr_array_header_t **pupgrades)
 
const charap_select_protocol (conn_rec *c, request_rec *r, server_rec *s, const apr_array_header_t *choices)
 
apr_status_t ap_switch_protocol (conn_rec *c, request_rec *r, server_rec *s, const char *protocol)
 
const charap_get_protocol (conn_rec *c)
 
int ap_is_allowed_protocol (conn_rec *c, request_rec *r, server_rec *s, const char *protocol)
 
apr_bucketap_bucket_error_make (apr_bucket *b, int error, const char *buf, apr_pool_t *p)
 
apr_bucketap_bucket_error_create (int error, const char *buf, apr_pool_t *p, apr_bucket_alloc_t *list)
 
apr_status_t ap_byterange_filter (ap_filter_t *f, apr_bucket_brigade *b)
 
apr_status_t ap_http_header_filter (ap_filter_t *f, apr_bucket_brigade *b)
 
apr_status_t ap_content_length_filter (ap_filter_t *, apr_bucket_brigade *)
 
apr_status_t ap_old_write_filter (ap_filter_t *f, apr_bucket_brigade *b)
 
void ap_set_sub_req_protocol (request_rec *rnew, const request_rec *r)
 
void ap_finalize_sub_req_protocol (request_rec *sub_r)
 
void ap_send_interim_response (request_rec *r, int send_headers)
 

Variables

ap_filter_rec_tap_old_write_func
 
const apr_bucket_type_t ap_bucket_type_error
 

Detailed Description

HTTP protocol handling.

Definition in file http_protocol.h.