Skip to content
This repository has been archived by the owner on Jul 6, 2018. It is now read-only.

http2: add test-http2-date-header.js #94

Open
wants to merge 61 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
be065e3
deps: initial checkin of nghttp2 lib 1.15.0
jasnell Oct 11, 2016
e6dc786
http: move utcDate to internal/http.js
jasnell Oct 17, 2016
bf1d846
tls: add tlsSocket.disableRenegotiation()
jasnell Nov 4, 2016
6199295
http2: initial partial implementation
jasnell Oct 13, 2016
31608ba
http2: fixes to make things work with grpc
kjin Apr 19, 2017
61e253f
http2: turn on auto window_size updates
kjin Apr 28, 2017
2ebb716
http2: fix linting errors in documentation
jasnell May 2, 2017
6404b0d
http2: update nghttp2 to 1.22.0
jasnell May 2, 2017
7431f0a
http2: fix test-http2-binding after round 11 (Squash)
mcollina May 4, 2017
46f30be
test: assert headers and flags
danbev May 4, 2017
47d5b4f
src: minor comment correction (Squash)
danbev May 4, 2017
28fda31
http2: client session destroy also destroys associated socket
kjin May 3, 2017
f0f6481
http2: add test for client.destroy behavior
kjin May 4, 2017
e6f3d48
repl: add http2 to built-in libs in REPL
yosuke-furukawa May 5, 2017
a526653
src: avoid init order compiler warning
danbev May 5, 2017
123dccd
http2: specify default TLS options for http2 client connection.
jmuk May 2, 2017
83fd1ca
src: make node-http2-core files consistent
danbev May 4, 2017
34ba176
http2: fix res.setHeader to update linkedlist APIs
yosuke-furukawa May 4, 2017
e92b080
docs: fix require('http').HTTP2 to require('http2') (Squash)
yosuke-furukawa May 5, 2017
f0abd63
src: make Nghttp2Stream a class
danbev May 5, 2017
f7dc7f3
test: add http2 rstStream test
yosuke-furukawa May 5, 2017
ec7e0cf
src: to ToChecked to holder->SetPrototype
danbev May 5, 2017
73ad0b3
test: add http2 trailers test
danbev May 6, 2017
45d4f36
test: check http2 client priority
yosuke-furukawa May 6, 2017
3345f35
src: remove unused MIN/MAX macros (Squash)
danbev May 7, 2017
5747511
http2: code cleanup (Squash)
santigimeno May 6, 2017
12e79f9
http2: fix lint errors
yosuke-furukawa May 9, 2017
3ae7de9
http2: add server push event for client
yosuke-furukawa May 9, 2017
61cc977
http2: compatibility with http API & push
sebdeckers Mar 23, 2017
0259788
src: add assertion to check cb is not null
danbev May 11, 2017
3e97fc2
http2: change conditions for stream write loop
kjin May 2, 2017
3337633
http2: add test for server sending large amounts of data
kjin May 2, 2017
b5af4fb
src: improve readability of CopyHeaders
danbev May 8, 2017
3578902
http2: general code cleanups
jasnell May 3, 2017
5fc3031
http2: fixup test-async-wrap-check-providers
jasnell May 12, 2017
b0dc5b8
http2: refactor session/stream state, settings
jasnell May 13, 2017
9f4403e
http2: add priority advisement event
jasnell May 14, 2017
e7c6b36
http2: writeHead optional statusMessage
sebdeckers May 15, 2017
51f87c7
http2: fixed .finished property on req/res compat
sebdeckers May 15, 2017
97a4373
http2: fix multivalued headers and cookies
jasnell May 15, 2017
50669e6
http2: rename some APIs
jasnell May 15, 2017
e370806
http2: support informational headers, add test
jasnell May 15, 2017
4c53008
http2: add test for http methods
jasnell May 15, 2017
360e54f
http2: improve padding callback
jasnell May 16, 2017
32b6eaa
http2: general code cleanups
jasnell May 16, 2017
21fcf58
http2: initial documentation
jasnell May 12, 2017
f38a73a
http2: allow specifying servername in options
jmuk May 16, 2017
79417fe
http2: add more connection specific headers
jasnell May 16, 2017
e91a1a3
http2: improve header single value checking
jasnell May 16, 2017
aabdf4a
http2: statusCode should be a Number
robertkowalski May 15, 2017
e057863
http2: request.socket|connection
sebdeckers May 17, 2017
f6ea0b7
http2: ALPN fallback to HTTP/1.1
sebdeckers May 16, 2017
afb7327
http2: update docs
jasnell May 17, 2017
6d2ba82
http2: improve error handling, reliability and tests
jasnell May 17, 2017
3c6b987
http2: Do not imply a callback to compat res.write
mcollina May 18, 2017
18785c8
http2: significant internal refactoring
jasnell May 19, 2017
f43597b
http2: add configured debug statements
jasnell May 26, 2017
897d5b1
http2: additional cleanups, fixes and docs
jasnell May 31, 2017
9b6b067
http2: reject incompatible TLS ALPN handshakes
sebdeckers May 21, 2017
24c3779
http2: add test-http2-date-header.js
robertkowalski May 8, 2017
8faa0d1
[squash] review: add common must-call
robertkowalski Jun 1, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ shared_optgroup = optparse.OptionGroup(parser, "Shared libraries",
intl_optgroup = optparse.OptionGroup(parser, "Internationalization",
"Flags that lets you enable i18n features in Node.js as well as which "
"library you want to build against.")
http2_optgroup = optparse.OptionGroup(parser, "HTTP2",
"Flags that allows you to control HTTP2 features in Node.js")

# Options should be in alphabetical order but keep --prefix at the top,
# that's arguably the one people will be looking for most.
Expand Down Expand Up @@ -392,6 +394,16 @@ intl_optgroup.add_option('--download-path',

parser.add_option_group(intl_optgroup)

http2_optgroup.add_option('--debug-http2',
action='store_true',
dest='debug_http2',
help='build with http2 debug statements on (default is false)')

http2_optgroup.add_option('--debug-nghttp2',
action='store_true',
dest='debug_nghttp2',
help='build nghttp2 with DEBUGBUILD (default is false)')

parser.add_option('--with-perfctr',
action='store_true',
dest='with_perfctr',
Expand Down Expand Up @@ -891,6 +903,16 @@ def configure_node(o):
if options.enable_static:
o['variables']['node_target_type'] = 'static_library'

if options.debug_http2:
o['variables']['debug_http2'] = 1
else:
o['variables']['debug_http2'] = 'false'

if options.debug_nghttp2:
o['variables']['debug_nghttp2'] = 1
else:
o['variables']['debug_nghttp2'] = 'false'

o['variables']['node_no_browser_globals'] = b(options.no_browser_globals)
o['variables']['node_shared'] = b(options.shared)
node_module_version = getmoduleversion.get_version()
Expand Down
63 changes: 63 additions & 0 deletions deps/nghttp2/lib/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
add_subdirectory(includes)

include_directories(
"${CMAKE_CURRENT_SOURCE_DIR}/includes"
"${CMAKE_CURRENT_BINARY_DIR}/includes"
)

add_definitions(-DBUILDING_NGHTTP2)

set(NGHTTP2_SOURCES
nghttp2_pq.c nghttp2_map.c nghttp2_queue.c
nghttp2_frame.c
nghttp2_buf.c
nghttp2_stream.c nghttp2_outbound_item.c
nghttp2_session.c nghttp2_submit.c
nghttp2_helper.c
nghttp2_npn.c
nghttp2_hd.c nghttp2_hd_huffman.c nghttp2_hd_huffman_data.c
nghttp2_version.c
nghttp2_priority_spec.c
nghttp2_option.c
nghttp2_callbacks.c
nghttp2_mem.c
nghttp2_http.c
nghttp2_rcbuf.c
nghttp2_debug.c
)

set(NGHTTP2_RES "")

if(WIN32)
configure_file(
version.rc.in
${CMAKE_CURRENT_BINARY_DIR}/version.rc
@ONLY)

set(NGHTTP2_RES ${CMAKE_CURRENT_BINARY_DIR}/version.rc)
endif()

# Public shared library
add_library(nghttp2 SHARED ${NGHTTP2_SOURCES} ${NGHTTP2_RES})
set_target_properties(nghttp2 PROPERTIES
COMPILE_FLAGS "${WARNCFLAGS}"
VERSION ${LT_VERSION} SOVERSION ${LT_SOVERSION}
C_VISIBILITY_PRESET hidden
)

if(HAVE_CUNIT)
# Static library (for unittests because of symbol visibility)
add_library(nghttp2_static STATIC ${NGHTTP2_SOURCES})
set_target_properties(nghttp2_static PROPERTIES
COMPILE_FLAGS "${WARNCFLAGS}"
VERSION ${LT_VERSION} SOVERSION ${LT_SOVERSION}
ARCHIVE_OUTPUT_NAME nghttp2
)
target_compile_definitions(nghttp2_static PUBLIC "-DNGHTTP2_STATICLIB")
endif()

install(TARGETS nghttp2
DESTINATION "${CMAKE_INSTALL_LIBDIR}")

install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libnghttp2.pc"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
72 changes: 72 additions & 0 deletions deps/nghttp2/lib/Makefile.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# nghttp2 - HTTP/2 C Library

# Copyright (c) 2012, 2013 Tatsuhiro Tsujikawa

# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:

# The above copyright notice and this permission notice shall be
# included in all copies or substantial portions of the Software.

# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
SUBDIRS = includes

EXTRA_DIST = Makefile.msvc CMakeLists.txt version.rc.in

AM_CFLAGS = $(WARNCFLAGS) $(EXTRACFLAG)
AM_CPPFLAGS = -I$(srcdir)/includes -I$(builddir)/includes -DBUILDING_NGHTTP2 \
@DEFS@

pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libnghttp2.pc
DISTCLEANFILES = $(pkgconfig_DATA)

lib_LTLIBRARIES = libnghttp2.la

OBJECTS = nghttp2_pq.c nghttp2_map.c nghttp2_queue.c \
nghttp2_frame.c \
nghttp2_buf.c \
nghttp2_stream.c nghttp2_outbound_item.c \
nghttp2_session.c nghttp2_submit.c \
nghttp2_helper.c \
nghttp2_npn.c \
nghttp2_hd.c nghttp2_hd_huffman.c nghttp2_hd_huffman_data.c \
nghttp2_version.c \
nghttp2_priority_spec.c \
nghttp2_option.c \
nghttp2_callbacks.c \
nghttp2_mem.c \
nghttp2_http.c \
nghttp2_rcbuf.c \
nghttp2_debug.c

HFILES = nghttp2_pq.h nghttp2_int.h nghttp2_map.h nghttp2_queue.h \
nghttp2_frame.h \
nghttp2_buf.h \
nghttp2_session.h nghttp2_helper.h nghttp2_stream.h nghttp2_int.h \
nghttp2_npn.h \
nghttp2_submit.h nghttp2_outbound_item.h \
nghttp2_net.h \
nghttp2_hd.h nghttp2_hd_huffman.h \
nghttp2_priority_spec.h \
nghttp2_option.h \
nghttp2_callbacks.h \
nghttp2_mem.h \
nghttp2_http.h \
nghttp2_rcbuf.h \
nghttp2_debug.h

libnghttp2_la_SOURCES = $(HFILES) $(OBJECTS)
libnghttp2_la_LDFLAGS = -no-undefined \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
Loading