26#ifndef APACHE_HTTP_PROTOCOL_H
27#define APACHE_HTTP_PROTOCOL_H
370#define AP_METHOD_CHECK_ALLOWED(mask, methname) \
371 ((mask) & (AP_METHOD_BIT << ap_method_number_of((methname))))
494 if (
len <= INT_MAX) {
684#define AP_GET_BASIC_AUTH_PW_NOTE "AP_GET_BASIC_AUTH_PW_NOTE"
714#define AP_GETLINE_FOLD 1
715#define AP_GETLINE_CRLF 2
716#define AP_GETLINE_NOSPC_EOL 4
757#if APR_CHARSET_EBCDIC
763#define ap_rgetline(s, n, read, r, fold, bb) \
764 ap_rgetline_core((s), (n), (read), (r), (fold), (bb))
842#define AP_PROTOCOL_HTTP1 "http/1.1"
1071#define AP_BUCKET_IS_ERROR(e) (e->type == &ap_bucket_type_error)
#define AP_DECLARE_NONSTD(type)
#define AP_FN_ATTR_SENTINEL
#define AP_DECLARE_HOOK(ret, name, args)
const char apr_size_t len
APR-UTIL Buckets/Bucket Brigades.
APR Portability Routines.
const unsigned char * buf
int int ap_rflush(request_rec *r)
int ap_method_number_of(const char *method)
int ap_parse_request_line(request_rec *r)
void ap_set_etag(request_rec *r)
void ap_method_registry_init(apr_pool_t *p)
void ap_finalize_sub_req_protocol(request_rec *sub_r)
void ap_setup_make_content_type(apr_pool_t *pool)
int ap_rvputs(request_rec *r,...)
void ap_set_accept_ranges(request_rec *r)
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)
int ap_map_http_request_error(apr_status_t rv, int status)
int ap_meets_conditions(request_rec *r)
ap_condition_e ap_condition_if_modified_since(request_rec *r, apr_table_t *headers)
int ap_method_register(apr_pool_t *p, const char *methname)
void ap_method_list_remove(ap_method_list_t *l, const char *method)
ap_method_list_t * ap_make_method_list(apr_pool_t *p, int nelts)
void ap_set_etag_fd(request_rec *r, apr_file_t *fd)
void ap_method_list_add(ap_method_list_t *l, const char *method)
void ap_send_interim_response(request_rec *r, int send_headers)
void ap_parse_uri(request_rec *r, const char *uri)
apr_time_t ap_rationalize_mtime(request_rec *r, apr_time_t mtime)
void ap_note_digest_auth_failure(request_rec *r)
void ap_send_error_response(request_rec *r, int recursive_error)
void ap_finalize_request_protocol(request_rec *r)
void ap_note_auth_failure(request_rec *r)
#define ap_rgetline(s, n, read, r, fold, bb)
int ap_get_basic_auth_pw(request_rec *r, const char **pw)
void ap_note_basic_auth_failure(request_rec *r)
apr_status_t ap_http_header_filter(ap_filter_t *f, apr_bucket_brigade *b)
int ap_set_keepalive(request_rec *r)
void ap_set_sub_req_protocol(request_rec *rnew, const request_rec *r)
ap_condition_e ap_condition_if_range(request_rec *r, apr_table_t *headers)
int ap_rprintf(request_rec *r, const char *fmt,...) __attribute__((format(printf
ap_condition_e ap_condition_if_unmodified_since(request_rec *r, apr_table_t *headers)
const char * ap_get_status_line_ex(apr_pool_t *p, int status)
int ap_should_client_block(request_rec *r)
apr_status_t ap_get_basic_auth_components(const request_rec *r, const char **username, const char **password)
int ap_index_of_response(int status)
request_rec * ap_create_request(conn_rec *c)
int ap_post_read_request(request_rec *r)
void ap_set_content_length(request_rec *r, apr_off_t length)
apr_status_t ap_switch_protocol(conn_rec *c, request_rec *r, server_rec *s, const char *protocol)
request_rec * ap_read_request(conn_rec *c)
const char * ap_get_protocol(conn_rec *c)
apr_bucket * ap_bucket_error_make(apr_bucket *b, int error, const char *buf, apr_pool_t *p)
const char * ap_select_protocol(conn_rec *c, request_rec *r, server_rec *s, const apr_array_header_t *choices)
static APR_INLINE int ap_rputs(const char *str, request_rec *r)
int ap_method_in_list(ap_method_list_t *l, const char *method)
int ap_rputc(int c, request_rec *r)
void ap_set_last_modified(request_rec *r)
const char * ap_make_content_type(request_rec *r, const char *type)
void ap_set_content_type_ex(request_rec *r, const char *ct, int trusted)
void ap_clear_method_list(ap_method_list_t *l)
void ap_get_mime_headers_core(request_rec *r, apr_bucket_brigade *bb)
void ap_set_content_type(request_rec *r, const char *ct)
apr_status_t ap_byterange_filter(ap_filter_t *f, apr_bucket_brigade *b)
const char * ap_method_name_of(apr_pool_t *p, int methnum)
int ap_check_request_header(request_rec *r)
int ap_getline(char *s, int n, request_rec *r, int flags)
void ap_copy_method_list(ap_method_list_t *dest, ap_method_list_t *src)
ap_condition_e ap_condition_if_match(request_rec *r, apr_table_t *headers)
ap_condition_e ap_condition_if_none_match(request_rec *r, apr_table_t *headers)
char * ap_make_etag_ex(request_rec *r, etag_rec *er)
apr_status_t ap_content_length_filter(ap_filter_t *, apr_bucket_brigade *)
const apr_bucket_type_t ap_bucket_type_error
int ap_rwrite(const void *buf, int nbyte, request_rec *r)
long ap_get_client_block(request_rec *r, char *buffer, apr_size_t bufsiz)
const char * ap_get_status_line(int status)
int ap_setup_client_block(request_rec *r, int read_policy)
int ap_is_allowed_protocol(conn_rec *c, request_rec *r, server_rec *s, const char *protocol)
int ap_discard_request_body(request_rec *r)
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_vrprintf(request_rec *r, const char *fmt, va_list vlist)
ap_filter_rec_t * ap_old_write_func
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)
apr_status_t ap_old_write_filter(ap_filter_t *f, apr_bucket_brigade *b)
void ap_get_mime_headers(request_rec *r)
char * ap_make_etag(request_rec *r, int force_weak)
apr_bucket * ap_bucket_error_create(int error, const char *buf, apr_pool_t *p, apr_bucket_alloc_t *list)
apr_brigade_flush void const char apr_size_t nbyte
apr_pool_t const char apr_dbd_t const char ** error
const char apr_ssize_t int flags
const char int apr_pool_t * pool
const apr_array_header_t * list
apr_seek_where_t apr_off_t * offset
apr_vformatter_buff_t const char * fmt
apr_vformatter_buff_t * c
apr_uint32_t apr_pool_t apr_uint32_t apr_pollset_method_e method
const char apr_status_t(*) apr_pool_t *poo __attribute__)((nonnull(2, 4)))
const char const char * password
static const char * http_scheme(const request_rec *r)
static int send_headers(request_rec *r, proxy_conn_rec *conn)
A bucket referring to an HTTP error.
apr_bucket_refcount refcount
This structure is used for recording information about the registered filters. It associates a name w...
The representation of a filter chain.
Structure for handling HTTP methods.
Structure to store things which are per connection.
A structure with the ingredients for a file based etag.
const char * vlist_validator
A structure that represents the current request.
A structure to store information for each virtual server.