Tatsuhiro Tsujikawa
9b0ccdef34
h2load: Code cleanup
2015-06-10 00:28:27 +09:00
Tatsuhiro Tsujikawa
41dd5f6897
nghttpx: Tokenize request method
...
We share the same method value with http-parser. This commit also
returns 501 for unknown request method on HTTP/2 and SPDY frontend.
2015-06-09 23:33:14 +09:00
Tatsuhiro Tsujikawa
f9c60d5e9d
nghttpx: Return 501 if invalid method is received on h1 frontend
2015-06-09 22:08:49 +09:00
Tatsuhiro Tsujikawa
6d537c419e
nghttpx: Document failure case on bind()
2015-06-07 00:05:33 +09:00
Tatsuhiro Tsujikawa
4894e24dc8
nghttpx: Add error logging for listener socket creation failure
2015-06-07 00:02:30 +09:00
Tatsuhiro Tsujikawa
bbbddedb8f
Fix compiler warning
2015-06-06 23:37:46 +09:00
Tatsuhiro Tsujikawa
00efa86fb6
nghttpx: Add --add-request-header option
2015-06-05 23:04:20 +09:00
Tatsuhiro Tsujikawa
590a5c3ff3
Fix typo
2015-06-05 00:18:29 +09:00
Tatsuhiro Tsujikawa
ee4d53a9e4
More constexpr
2015-05-31 18:44:37 +09:00
Tatsuhiro Tsujikawa
3d59c6c0b7
nghttpx: Use defined string iteral when defining long_options
2015-05-29 22:48:46 +09:00
Tatsuhiro Tsujikawa
34efc6b7a4
More constexpr
2015-05-29 22:36:05 +09:00
Tatsuhiro Tsujikawa
7582640fd5
nghttpx: Remove unused
2015-05-29 22:20:46 +09:00
Tatsuhiro Tsujikawa
323fc8c552
nghttpx: Make WebSocket upgrade work
...
This commit makes sure that WebSocket upgrade works for HTTP/1.1
frontend and backend pair. Actually, this implementation probably
supports other upgrade as well, other than HTTP/2 Upgrade, which is
handled specially in other place.
2015-05-26 22:26:17 +09:00
Tatsuhiro Tsujikawa
326b4c467b
nghttpx: Fix bug that END_STREAM is not set in backend for POST with Upgrade
2015-05-26 00:00:11 +09:00
Tatsuhiro Tsujikawa
7e51a87111
nghttpx: Don't upgrade to HTTP/2 if we have non-final HTTP/1 response pending
2015-05-25 23:59:44 +09:00
Tatsuhiro Tsujikawa
5fdb36239a
nghttpx: Don't send Expect header field twice
2015-05-25 23:59:18 +09:00
Tatsuhiro Tsujikawa
90eac0709d
src: Make sure that empty param is error when parsing Link header field
2015-05-24 15:40:16 +09:00
Tatsuhiro Tsujikawa
791660ef8d
Fix up OpenSSL initialization
...
Use the example presented at
http://en.wikibooks.org/wiki/OpenSSL/Initialization
2015-05-23 00:23:38 +09:00
Tatsuhiro Tsujikawa
9a0b9428da
nghttpx: Fill request scheme in upstream
...
We may log before filling scheme in Downstream, so we leave
construct_absolute_request_uri as is.
2015-05-22 02:22:59 +09:00
Tatsuhiro Tsujikawa
b20abfc11a
nghttpx: Allow HTTP Upgrade from POST request if response header was not sent
2015-05-22 01:59:40 +09:00
Tatsuhiro Tsujikawa
890a10b216
nghttpx: Fix bug that PUSH_PROMISE is sent after associated response HEADERS
2015-05-22 00:53:02 +09:00
Tatsuhiro Tsujikawa
28adb2dad3
h2load: Fix bug that NPN fails if ALPN is enabled
2015-05-22 00:48:32 +09:00
Tatsuhiro Tsujikawa
fe752174a9
nghttpd: Close connection after settings timeout and GOAWAY was sent
2015-05-18 21:38:12 +09:00
Tatsuhiro Tsujikawa
0b27f005e0
Merge branch 'master' into v1.0.0
...
Conflicts:
src/HttpServer.cc
2015-05-15 23:24:19 +09:00
Tatsuhiro Tsujikawa
3572e7c634
inflatehd: Fix crash if 'wire' value is not string
...
Fixes GH-235
2015-05-15 22:29:57 +09:00
Tatsuhiro Tsujikawa
0479f833fc
Revert "nghttpx: Remove last write/read fields for TLS"
...
This reverts commit 585af93828
.
2015-05-15 22:20:15 +09:00
Tatsuhiro Tsujikawa
53bfc70c9e
Include inttypes.h (or cintypes for C++) instead of stdint.h
...
From autoconf manual, section 5.6.1 Portability of Headers, says:
"""
The C99 standard says that inttypes.h includes stdint.h, so there's no
need to include stdint.h separately in a standard environment. Some
implementations have inttypes.h but not stdint.h (e.g., Solaris 7),
but we don't know of any implementation that has stdint.h but not
inttypes.h.
"""
2015-05-14 00:17:45 +09:00
Tatsuhiro Tsujikawa
38cfc5c47c
Check more headers and funcs
2015-05-13 23:29:20 +09:00
Tatsuhiro Tsujikawa
5da49989f8
nghttpd: Add --echo-upload option to send back request body
2015-05-13 00:38:28 +09:00
Tatsuhiro Tsujikawa
2f2a7ace81
Fix corresponding upstream source reported in previous commits accordingly
2015-05-12 23:24:18 +09:00
Tatsuhiro Tsujikawa
a8625e15f0
clang-format
2015-05-08 19:24:17 +09:00
Tatsuhiro Tsujikawa
e63d6e490a
Merge branch 'master' into v1.0.0
...
Conflicts:
lib/nghttp2_option.h
lib/nghttp2_session.h
src/HttpServer.cc
2015-05-08 19:21:51 +09:00
Tatsuhiro Tsujikawa
2d5d9d5d04
nghttpd: Add -m, --max-concurrent-streams option
2015-05-06 10:42:43 +09:00
Tatsuhiro Tsujikawa
7ecca39025
nghttpx: Fix heap-use-after-free bug in http/1 frontend
...
This is a regression introduced in
4be4d875f3
2015-05-05 23:45:39 +09:00
Tatsuhiro Tsujikawa
4be4d875f3
nghttpx: Log absolute URI for HTTP/2 or client proxy request
2015-05-04 23:24:33 +09:00
Tatsuhiro Tsujikawa
1ab707713f
nghttpx: Accept reference instead of pointer by upstream_accesslog
2015-05-04 22:45:34 +09:00
Tatsuhiro Tsujikawa
cc46d363c5
h2load: Refactor statistics hanlding to scale more upcoming new metrics
2015-05-04 22:36:21 +09:00
Tatsuhiro Tsujikawa
016d40ea0f
Merge branch 'include_pull_request' of https://github.com/alex-nalivko/nghttp2 into alex-nalivko-include_pull_request
2015-05-03 16:50:52 +09:00
Tatsuhiro Tsujikawa
b4e8bea4b5
clang-format
2015-05-03 16:47:32 +09:00
Tatsuhiro Tsujikawa
555d5abac9
Merge branch 'finer_stats' of https://github.com/ericcarlschwartz/nghttp2 into ericcarlschwartz-finer_stats
2015-05-03 16:37:02 +09:00
Alex Nalivko
3137dc4a70
h2load_spdy_session errno include
2015-05-02 19:33:04 +00:00
es
4bba4bf66c
update h2load to give connect time and ttfb stats
...
finer statistics for h2load: update per comments from tatsuhiro-t
finer stats for h2load: fixed formatting
2015-05-01 10:30:09 -07:00
Tatsuhiro Tsujikawa
9dc5259593
nghttpx: Take into account request URI in header size in https frontend
2015-04-29 22:23:25 +09:00
Tatsuhiro Tsujikawa
ea8a566d98
nghttpx: Send 431 if header field size exceeded the configuration limit
2015-04-29 21:39:46 +09:00
Tatsuhiro Tsujikawa
8c6f9e899f
nghttpx: Enforce header field buffer limit for SPDY frontend
2015-04-29 21:27:36 +09:00
Tatsuhiro Tsujikawa
552f675466
nghttpx: Add --header-field-buffer and --max-header-fields options
2015-04-29 21:10:59 +09:00
Tatsuhiro Tsujikawa
1c4df1832b
Update doc, mainly for RFC numbers
2015-04-28 23:05:00 +09:00
Tatsuhiro Tsujikawa
1ad1fe6005
Merge branch 'master' into v1.0.0
2015-04-28 22:48:34 +09:00
Tatsuhiro Tsujikawa
f05a4830c5
nghttp: Fix assertion error if very large value is given to -t
2015-04-28 21:51:28 +09:00
Tatsuhiro Tsujikawa
b41835f19b
h2load: Effectively disable flow control by setting large window size
...
Previously h2load used default flow control window as described in
HTTP/2 and SPDY specification. The window size is 64KiB, which is a
bit small, and cannot utilize full server performance when response
size is not too small. Basically, we do this kind of benchmarking
test to measure server's throughput, and optimal performance. Smaller
window certainly degrades performance even in local testing because
server is so fast that it has to wait for WINDOW_UPDATE from h2load.
To make default behaviour suitable for peak performance test, we
decided to disable flow control in h2load by setting large enough
window size.
Most users used h2load without -w or -W options, so they were
implicitly throttled by flow control and the result was affected by
that negatively. Now flow control is disabled by default, the result
may improve depending on the implementations.
2015-04-27 21:23:01 +09:00