Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJames M Snell <jasnell@gmail.com>2018-10-06 01:09:07 +0300
committerMichaƫl Zasso <targos@protonmail.com>2018-10-10 05:15:57 +0300
commit7b327ea9093d323fa01f3eae6ae2778b436b09ff (patch)
tree1f6c0d2be8c5eb4d68cfaada596d060f2e9196ed /src
parent95bdf37265509756e7153478d4a5b438a0b6c828 (diff)
http2: add RFC 8441 extended connect protocol support
PR-URL: https://github.com/nodejs/node/pull/23284 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/node_http2.cc4
-rw-r--r--src/node_http2.h1
-rw-r--r--src/node_http2_state.h1
3 files changed, 6 insertions, 0 deletions
diff --git a/src/node_http2.cc b/src/node_http2.cc
index bde0ef79e95..36b7fc9e856 100644
--- a/src/node_http2.cc
+++ b/src/node_http2.cc
@@ -219,6 +219,7 @@ void Http2Session::Http2Settings::Init() {
GRABSETTING(INITIAL_WINDOW_SIZE, "initial window size");
GRABSETTING(MAX_HEADER_LIST_SIZE, "max header list size");
GRABSETTING(ENABLE_PUSH, "enable push");
+ GRABSETTING(ENABLE_CONNECT_PROTOCOL, "enable connect protocol");
#undef GRABSETTING
@@ -287,6 +288,8 @@ void Http2Session::Http2Settings::Update(Environment* env,
fn(**session, NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE);
buffer[IDX_SETTINGS_ENABLE_PUSH] =
fn(**session, NGHTTP2_SETTINGS_ENABLE_PUSH);
+ buffer[IDX_SETTINGS_ENABLE_CONNECT_PROTOCOL] =
+ fn(**session, NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL);
}
// Initializes the shared TypedArray with the default settings values.
@@ -3091,6 +3094,7 @@ void Initialize(Local<Object> target,
NODE_DEFINE_CONSTANT(constants, NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE);
NODE_DEFINE_CONSTANT(constants, NGHTTP2_SETTINGS_MAX_FRAME_SIZE);
NODE_DEFINE_CONSTANT(constants, NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE);
+ NODE_DEFINE_CONSTANT(constants, NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL);
NODE_DEFINE_CONSTANT(constants, PADDING_STRATEGY_NONE);
NODE_DEFINE_CONSTANT(constants, PADDING_STRATEGY_ALIGNED);
diff --git a/src/node_http2.h b/src/node_http2.h
index 2ab452bf02a..8ecca63aeb0 100644
--- a/src/node_http2.h
+++ b/src/node_http2.h
@@ -160,6 +160,7 @@ struct nghttp2_header : public MemoryRetainer {
V(AUTHORITY, ":authority") \
V(SCHEME, ":scheme") \
V(PATH, ":path") \
+ V(PROTOCOL, ":protocol") \
V(ACCEPT_CHARSET, "accept-charset") \
V(ACCEPT_ENCODING, "accept-encoding") \
V(ACCEPT_LANGUAGE, "accept-language") \
diff --git a/src/node_http2_state.h b/src/node_http2_state.h
index 64a0942f7ff..d21d0f90096 100644
--- a/src/node_http2_state.h
+++ b/src/node_http2_state.h
@@ -15,6 +15,7 @@ namespace http2 {
IDX_SETTINGS_MAX_FRAME_SIZE,
IDX_SETTINGS_MAX_CONCURRENT_STREAMS,
IDX_SETTINGS_MAX_HEADER_LIST_SIZE,
+ IDX_SETTINGS_ENABLE_CONNECT_PROTOCOL,
IDX_SETTINGS_COUNT
};