summaryrefslogtreecommitdiffstats
path: root/modules/http2/h2_request.h
diff options
context:
space:
mode:
authorStefan Eissing <icing@apache.org>2016-02-08 17:53:45 +0100
committerStefan Eissing <icing@apache.org>2016-02-08 17:53:45 +0100
commit3567f9f7c669c7b82e69484dc099a375250eff0d (patch)
tree4b45ef808cdabe2aec0d845ec3b5110dac2a0932 /modules/http2/h2_request.h
parentlet proxy handler forward ALPN protocol strings for ssl proxy connections (diff)
downloadapache2-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.h43
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);