Add Sec-* HTTP headers

fixes #2080
closes #2082
This commit is contained in:
Richard Hodges
2020-09-07 17:15:50 +02:00
parent 7811f4c52f
commit 91d9457ab9
5 changed files with 376 additions and 360 deletions

View File

@@ -1,6 +1,7 @@
Version XXX: Version XXX:
* Fix assert when basic_stream used as underlying of ssl::stream with zero-length write. * Fix assert when basic_stream used as underlying of ssl::stream with zero-length write.
* Add Sec-* HTTP headers.
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------

View File

@@ -18,8 +18,8 @@ namespace boost {
namespace beast { namespace beast {
namespace http { namespace http {
enum class field : unsigned short enum class field : unsigned short
{ {
unknown = 0, unknown = 0,
a_im, a_im,
@@ -298,6 +298,10 @@ enum class field : unsigned short
safe, safe,
schedule_reply, schedule_reply,
schedule_tag, schedule_tag,
sec_fetch_dest,
sec_fetch_mode,
sec_fetch_site,
sec_fetch_user,
sec_websocket_accept, sec_websocket_accept,
sec_websocket_extensions, sec_websocket_extensions,
sec_websocket_key, sec_websocket_key,
@@ -373,9 +377,8 @@ enum class field : unsigned short
x400_received, x400_received,
x400_recipients, x400_recipients,
x400_trace, x400_trace,
xref, xref
}; };
/** Convert a field enum to a string. /** Convert a field enum to a string.
@param f The field to convert @param f The field to convert

View File

@@ -43,7 +43,7 @@ struct field_table
} }
using array_type = using array_type =
std::array<string_view, 353>; std::array<string_view, 357>;
// Strings are converted to lowercase // Strings are converted to lowercase
static static
@@ -116,6 +116,7 @@ struct field_table
*/ */
field_table() field_table()
: by_name_({{ : by_name_({{
// string constants
"<unknown-field>", "<unknown-field>",
"A-IM", "A-IM",
"Accept", "Accept",
@@ -393,6 +394,10 @@ struct field_table
"Safe", "Safe",
"Schedule-Reply", "Schedule-Reply",
"Schedule-Tag", "Schedule-Tag",
"Sec-Fetch-Dest",
"Sec-Fetch-Mode",
"Sec-Fetch-Site",
"Sec-Fetch-User",
"Sec-WebSocket-Accept", "Sec-WebSocket-Accept",
"Sec-WebSocket-Extensions", "Sec-WebSocket-Extensions",
"Sec-WebSocket-Key", "Sec-WebSocket-Key",

View File

@@ -33,7 +33,6 @@ public:
match(field::accept, "aCcept"); match(field::accept, "aCcept");
match(field::accept, "ACCEPT"); match(field::accept, "ACCEPT");
match(field::a_im, "A-IM"); match(field::a_im, "A-IM");
match(field::accept, "Accept"); match(field::accept, "Accept");
match(field::accept_additions, "Accept-Additions"); match(field::accept_additions, "Accept-Additions");
@@ -310,6 +309,10 @@ public:
match(field::safe, "Safe"); match(field::safe, "Safe");
match(field::schedule_reply, "Schedule-Reply"); match(field::schedule_reply, "Schedule-Reply");
match(field::schedule_tag, "Schedule-Tag"); match(field::schedule_tag, "Schedule-Tag");
match(field::sec_fetch_dest, "Sec-Fetch-Dest");
match(field::sec_fetch_mode, "Sec-Fetch-Mode");
match(field::sec_fetch_site, "Sec-Fetch-Site");
match(field::sec_fetch_user, "Sec-Fetch-User");
match(field::sec_websocket_accept, "Sec-WebSocket-Accept"); match(field::sec_websocket_accept, "Sec-WebSocket-Accept");
match(field::sec_websocket_extensions, "Sec-WebSocket-Extensions"); match(field::sec_websocket_extensions, "Sec-WebSocket-Extensions");
match(field::sec_websocket_key, "Sec-WebSocket-Key"); match(field::sec_websocket_key, "Sec-WebSocket-Key");

View File

@@ -275,6 +275,10 @@ Safe
Schedule-Reply Schedule-Reply
Schedule-Tag Schedule-Tag
Security-Scheme Security-Scheme
Sec-Fetch-Dest
Sec-Fetch-Mode
Sec-Fetch-Site
Sec-Fetch-User
Sec-WebSocket-Accept Sec-WebSocket-Accept
Sec-WebSocket-Extensions Sec-WebSocket-Extensions
Sec-WebSocket-Key Sec-WebSocket-Key