diff options
author | Stefan Eissing <icing@apache.org> | 2016-02-08 17:53:45 +0100 |
---|---|---|
committer | Stefan Eissing <icing@apache.org> | 2016-02-08 17:53:45 +0100 |
commit | 3567f9f7c669c7b82e69484dc099a375250eff0d (patch) | |
tree | 4b45ef808cdabe2aec0d845ec3b5110dac2a0932 /modules/http2/h2_request.h | |
parent | let proxy handler forward ALPN protocol strings for ssl proxy connections (diff) | |
download | apache2-3567f9f7c669c7b82e69484dc099a375250eff0d.tar.xz apache2-3567f9f7c669c7b82e69484dc099a375250eff0d.zip |
new experimental http2 proxy module for h2: and h2c: proxy urls
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1729209 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/http2/h2_request.h')
-rw-r--r-- | modules/http2/h2_request.h | 43 |
1 files changed, 8 insertions, 35 deletions
diff --git a/modules/http2/h2_request.h b/modules/http2/h2_request.h index cc01ed1238..946bd34852 100644 --- a/modules/http2/h2_request.h +++ b/modules/http2/h2_request.h @@ -16,46 +16,19 @@ #ifndef __mod_h2__h2_request__ #define __mod_h2__h2_request__ -/* h2_request is the transformer of HTTP2 streams into HTTP/1.1 internal - * format that will be fed to various httpd input filters to finally - * become a request_rec to be handled by soemone. - */ -struct h2_config; -struct h2_to_h1; -struct h2_mplx; -struct h2_task; - -typedef struct h2_request h2_request; - -struct h2_request { - int id; /* stream id */ +#include "h2.h" - const char *method; /* pseudo header values, see ch. 8.1.2.3 */ - const char *scheme; - const char *authority; - const char *path; - - apr_table_t *headers; - apr_table_t *trailers; - - apr_time_t request_time; - apr_off_t content_length; - - unsigned int chunked : 1; /* iff requst body needs to be forwarded as chunked */ - unsigned int eoh : 1; /* iff end-of-headers has been seen and request is complete */ - unsigned int body : 1; /* iff this request has a body */ - unsigned int push_policy; /* which push policy to use for this request */ - const struct h2_config *config; -}; - -h2_request *h2_request_create(int id, apr_pool_t *pool, - const struct h2_config *config); +h2_request *h2_request_create(int id, apr_pool_t *pool, int serialize); h2_request *h2_request_createn(int id, apr_pool_t *pool, - const struct h2_config *config, const char *method, const char *scheme, const char *authority, const char *path, - apr_table_t *headers); + apr_table_t *headers, int serialize); + +apr_status_t h2_request_make(h2_request *req, apr_pool_t *pool, + const char *method, const char *scheme, + const char *authority, const char *path, + apr_table_t *headers); void h2_request_destroy(h2_request *req); |