MINOR: htx: Add 3 flags on the start-line to deal with the request schemes

The first one, HTX_SL_F_HAS_SCHM, will be used to know the request has an
explicit scheme. So, in H2, it is always true because the pseudo-header
":scheme" is mandatory. In H1, it is only true when an absolute URI is found on
the start-line. The other flags, HTX_SL_F_SCHM_HTTP and HTX_SL_F_SCHM_HTTPS,
will be used to know which scheme the request have. For now, other protocols are
not handled.

The aim of these flags is to pass this information to the backend side in
general, and to the H2 mux in particular. So the multiplexer will have a chance
to use this information to send the right scheme to the server.
This commit is contained in:
Christopher Faulet 2019-06-14 10:08:13 +02:00
parent d20fdb0454
commit e21c01637a

View File

@ -87,6 +87,9 @@
#define HTX_SL_F_CHNK 0x00000010 /* The message payload is chunked */ #define HTX_SL_F_CHNK 0x00000010 /* The message payload is chunked */
#define HTX_SL_F_VER_11 0x00000020 /* The message indicates version 1.1 or above */ #define HTX_SL_F_VER_11 0x00000020 /* The message indicates version 1.1 or above */
#define HTX_SL_F_BODYLESS 0x00000040 /* The message has no body (content-length = 0) */ #define HTX_SL_F_BODYLESS 0x00000040 /* The message has no body (content-length = 0) */
#define HTX_SL_F_HAS_SCHM 0x00000080 /* The scheme is explicitly specified */
#define HTX_SL_F_SCHM_HTTP 0x00000100 /* The scheme HTTP should be used */
#define HTX_SL_F_SCHM_HTTPS 0x00000200 /* The scheme HTTPS should be used */
/* HTX flags */ /* HTX flags */
#define HTX_FL_NONE 0x00000000 #define HTX_FL_NONE 0x00000000