48 const char *scheme,
const char *authority,
81 const char *scheme, *authority, *
path;
146 if (
name[0] ==
':') {
151 "h2_request: pseudo header after request start");
181 "h2_request: ignoring unknown pseudo header %s",
228#if !AP_MODULE_MAGIC_AT_LEAST(20120211, 106)
285#if AP_HAS_RESPONSE_BUCKETS
311 r->
pool,
c->bucket_alloc);
332 "overwriting 'Host: %s' with :authority: %s'",
338 "set 'Host: %s' from :authority", req->
authority);
352#if !AP_HAS_RESPONSE_BUCKETS
376#if AP_MODULE_MAGIC_AT_LEAST(20120211, 106)
382#if AP_MODULE_MAGIC_AT_LEAST(20120211, 107)
399 "':scheme: %s' header present in CONNECT request",
404 else if (req->
path) {
406 "':path: %s' header present in CONNECT request",
414 "':protocol: %s' header present in %s request",
422 "H2ProxyRequests on, but request misses :scheme");
428 "H2ProxyRequests on, but request misses :authority");
444 else if (req->
path) {
545 "h2_request: access_status=%d, request_create failed",
575#if AP_MODULE_MAGIC_AT_LEAST(20180905, 1)
Apache Multi-Processing Module library.
#define AP_READ_REQUEST_SUCCESS(arg0, arg1, arg2, arg3, arg4)
#define AP_READ_REQUEST_FAILURE(arg0)
#define AP_READ_REQUEST_ENTRY(arg0, arg1)
APR general purpose library routines.
APR-UTIL string matching routines.
ap_conf_vector_t * ap_create_request_config(apr_pool_t *p)
request_rec int int apr_table_t const char * path
#define ap_http_scheme(r)
#define HTTP_VERSION(major, minor)
apr_status_t ap_pass_brigade(ap_filter_t *filter, apr_bucket_brigade *bucket)
ap_filter_t * ap_add_input_filter_handle(ap_filter_rec_t *f, void *ctx, request_rec *r, conn_rec *c)
int ap_method_number_of(const char *method)
int ap_parse_request_line(request_rec *r)
void ap_run_pre_read_request(request_rec *r, conn_rec *c)
ap_method_list_t * ap_make_method_list(apr_pool_t *p, int nelts)
void ap_parse_uri(request_rec *r, const char *uri)
request_rec * ap_create_request(conn_rec *c)
int ap_post_read_request(request_rec *r)
int ap_check_request_header(request_rec *r)
apr_bucket * ap_bucket_eor_create(apr_bucket_alloc_t *list, request_rec *r)
int ap_run_create_request(request_rec *r)
void ap_die(int type, request_rec *r)
#define APR_BRIGADE_INSERT_TAIL(b, e)
apr_brigade_flush void * ctx
#define APR_URI_UNP_OMITSITEPART
#define HTTP_EXPECTATION_FAILED
ap_filter_rec_t * ap_http_input_filter_handle
int ap_cstr_casecmp(const char *s1, const char *s2)
#define ap_strchr_c(s, c)
#define AP_DEBUG_ASSERT(exp)
const char int apr_pool_t * pool
apr_vformatter_buff_t * c
apr_uint32_t apr_pool_t apr_uint32_t apr_pollset_method_e method
#define apr_pool_create(newpool, parent)
#define apr_pcalloc(p, size)
#define AP_REQ_DEFAULT_PATH_INFO
#define H2_HEADER_SCHEME_LEN
#define H2_HEADER_AUTH_LEN
#define H2_HEADER_METHOD_LEN
#define H2_HEADER_PATH_LEN
#define H2_HEADER_PROTO_LEN
#define H2_HTTP_STATUS_UNSET
int h2_config_cgeti(conn_rec *c, h2_config_var_t var)
apr_status_t h2_request_rcreate(h2_request **preq, apr_pool_t *pool, request_rec *r)
apr_status_t h2_request_add_header(h2_request *req, apr_pool_t *pool, const char *name, size_t nlen, const char *value, size_t vlen, size_t max_field_len, int *pwas_added)
request_rec * h2_create_request_rec(const h2_request *req, conn_rec *c, int no_body)
static void assign_headers(request_rec *r, const h2_request *req, int no_body, int is_connect)
h2_request * h2_request_create(int id, apr_pool_t *pool, const char *method, const char *scheme, const char *authority, const char *path, apr_table_t *header)
apr_status_t h2_request_end_headers(h2_request *req, apr_pool_t *pool, size_t raw_bytes)
h2_request * h2_request_clone(apr_pool_t *p, const h2_request *src)
static int set_h1_header(void *ctx, const char *key, const char *value)
apr_status_t h2_req_add_header(apr_table_t *headers, apr_pool_t *pool, const char *name, size_t nlen, const char *value, size_t vlen, size_t max_field_len, int *pwas_added)
Apache connection library.
mod_core private header file
Apache scoreboard library.
Structure to store things which are per connection.
A structure that represents the current request.
apr_table_t * trailers_in
struct ap_filter_t * output_filters
struct ap_filter_t * proto_input_filters
apr_sockaddr_t * useragent_addr
ap_method_list_t * allowed_methods
apr_table_t * err_headers_out
struct ap_filter_t * proto_output_filters
struct ap_filter_t * input_filters
struct ap_conf_vector_t * request_config
apr_table_t * subprocess_env
struct ap_conf_vector_t * per_dir_config
apr_table_t * trailers_out
apr_table_t * headers_out
struct ap_conf_vector_t * lookup_defaults
void ap_update_vhost_from_headers(request_rec *r)