Tatsuhiro Tsujikawa
558934cee5
src: Use nghttp2_session_upgrade2
2015-11-07 16:13:06 +09:00
Tatsuhiro Tsujikawa
269a100081
Add nghttp2_session_upgrade2(), deprecate nghttp2_session_upgrade()
...
To validate actual response body length against the value declared in
content-length response header field, we first check request method.
If request method is HEAD, respose body must be 0 regardless of the
value in content-length. nghttp2_session_upgrade() has no parameter
to indicate the request method is HEAD, so we failed to validate
response body if HEAD is used with HTTP Upgrade. New
nghttp2_session_upgrade2() accepts new parameter to indicate that
request method is HEAD or not to fix this issue. Although, this issue
affects client side only, we deprecate nghttp2_session_upgrade() in
favor of nghttp2_session_upgrade2() for both client and server side.
2015-11-07 16:13:06 +09:00
Tatsuhiro Tsujikawa
af4c3cb2cf
Fix travis gcc build
2015-11-07 11:34:05 +09:00
Tatsuhiro Tsujikawa
6958d0b55d
nghttp: Use method given in -H with ":method" in HTTP Upgrade
2015-11-07 11:14:28 +09:00
Tatsuhiro Tsujikawa
5e7e479c6c
Workaround HTTP upgrade with HEAD request
...
By default, we check the length of response body matches
content-length. For HEAD request, this is not necessarily true, so we
sniff request method, and if it is HEAD, make sure that response body
length is 0. But this does not work for HTTP Upgrade, since
nghttp2_session_upgrade() has no parameter to tell the request method
was HEAD. This commit disables this response body length validation
for the stream upgraded by HTTP Upgrade. We will add new version of
nghttp2_session_upgrade with the parameter to pass the request method
information so that we can handle this situation properly.
2015-11-07 10:56:40 +09:00
Tatsuhiro Tsujikawa
dfbbb08124
Silence warning with scan-build
2015-11-06 20:07:40 +09:00
Tatsuhiro Tsujikawa
7755c2827c
nghttpx: Reserve headers vector
2015-11-05 23:47:22 +09:00
Tatsuhiro Tsujikawa
ac41946533
nghttpx: Use NGHTTP2_NV_FLAG_NO_COPY_NAME and NGHTTP2_NV_FLAG_NO_COPY_VALUE
...
For both HTTP/2 frontend and backend.
Also adds http2::stringify_status to optimize status code
serialization.
2015-11-05 23:47:11 +09:00
Tatsuhiro Tsujikawa
43b230685f
Introduce NGHTTP2_NV_FLAG_NO_COPY_NAME and NGHTTP2_NV_FLAG_NO_COPY_VALUE
2015-11-05 22:48:30 +09:00
Tatsuhiro Tsujikawa
cb73fa1d3b
h2load: Return SSL_TLSEXT_ERR_NOACK if there is protocol list overlap in NPN
2015-11-05 21:26:38 +09:00
Tatsuhiro Tsujikawa
0dc7fee713
h2load: Print "space savings" to measure header compression efficiency
2015-11-04 01:04:56 +09:00
Tatsuhiro Tsujikawa
58d636abdb
Revert 918f8cca36
...
For first scheduling, we might ignore weight. This is OK since weight
is just a distribution of resource, rather than strict priority
ordering.
2015-11-02 23:38:29 +09:00
Tatsuhiro Tsujikawa
be0d0e2995
Rename nghttp2_session_request_allowed as nghttp2_session_check_request_allowed
2015-10-30 22:48:27 +09:00
Tatsuhiro Tsujikawa
5d611d2e24
Merge branch 'master' into simple-extensions
2015-10-29 23:24:34 +09:00
Tatsuhiro Tsujikawa
6ff9c4d8f9
Update doc
...
With 4825009e42
, static lib is no longer
required for unit tests.
2015-10-29 23:13:11 +09:00
Tatsuhiro Tsujikawa
1e7f0d833e
nghttpd: Don't show read error if mime types file is not set by user manually
2015-10-29 23:08:52 +09:00
Tatsuhiro Tsujikawa
41002a77d4
Remove bogus debug log
2015-10-29 23:01:02 +09:00
Tatsuhiro Tsujikawa
1c37abc0dd
Add nghttp2_session_request_allowed() API function
...
This function is useful for the client application to know that there
is a chance that request can be sent. If this function returns 0,
there is zero chance to make a request.
This commit also set error_code passed to
nghttp2_on_stream_close_callback to NGHTTP2_REFUSED_STREAM if request
is not sent.
2015-10-29 22:53:30 +09:00
Tatsuhiro Tsujikawa
ad395f0603
h2load: Handle request submission failure
...
If request submission is failed, make all remaining requests for that
client fail.
2015-10-29 22:31:03 +09:00
Tatsuhiro Tsujikawa
e3878b619f
h2load: Update doc
2015-10-29 21:16:47 +09:00
Tatsuhiro Tsujikawa
3641b123f3
h2load: Stream error should be counted toward `errored`
2015-10-29 21:15:22 +09:00
Tatsuhiro Tsujikawa
f29ccc9c20
nghttpd: Read /etc/mime.types to set content-type header field
...
User can change file name using --mime-types-file option.
2015-10-29 00:21:36 +09:00
Tatsuhiro Tsujikawa
ecb4a208fb
nghttpx: Use ev_feed_event to signal write for HTTP backend
...
It seems that using ev_feed_event to signal write operation is much
faster than starting watcher. This is probably due to the fact that
we don't need to wait in event loop. The same thing cannot be done in
HTTP/2 frontend, since this will raise write operation for each stream
HEADER/DATA write, which leads to very small packets, hurting
performance. Interestingly, HTTP/1 frontend also suffers the same
performance hit.
2015-10-28 23:26:41 +09:00
Tatsuhiro Tsujikawa
d9f73c36c3
nghttpx: Log :authority as $http_host if available
2015-10-28 23:12:16 +09:00
Tatsuhiro Tsujikawa
b915c24704
Merge pull request #414 from rraptorr/systemd-pidfile
...
Revert "add PIDFile directive to systemd service"
2015-10-28 22:17:18 +09:00
Tatsuhiro Tsujikawa
559b0cf729
Merge pull request #415 from LPardue/h2load-fix-proto-negotioation
...
h2load: do not overwrite protocol value
2015-10-28 21:22:52 +09:00
Lucas Pardue
76df93fdf4
h2load: do not overwrite protocol value
2015-10-28 11:04:09 +00:00
Janusz Dziemidowicz
2145ba4ca7
Revert "add PIDFile directive to systemd service"
...
This reverts commit 19c095a817
.
See discussion at #375 for details.
2015-10-28 10:15:41 +01:00
Tatsuhiro Tsujikawa
1aa8e8cd9f
nghttpx: Simplify add_header
2015-10-28 02:57:31 +09:00
Tatsuhiro Tsujikawa
b051ddec2a
h2load: Show application protocol with OpenSSL < 1.0.2
...
This commit also fixes the problem that application protocol is not
shown if cleartext spdy is used.
2015-10-28 02:40:04 +09:00
Tatsuhiro Tsujikawa
55bf22081e
Merge branch 'kdudka-pr410'
2015-10-27 21:35:22 +09:00
Kamil Dudka
4825009e42
tests: fix broken linkage with --disable-static
2015-10-26 20:33:36 +01:00
Tatsuhiro Tsujikawa
01c4916aa6
Merge branch 'alagoutte-scan-build'
2015-10-27 00:51:17 +09:00
Tatsuhiro Tsujikawa
1a545ed518
Merge branch 'scan-build' of https://github.com/alagoutte/nghttp2 into alagoutte-scan-build
2015-10-27 00:49:09 +09:00
Alexis La Goutte
b4f363ef53
Fix Value stored to 'rv' is never read found by Clang Analyzer
2015-10-26 15:22:13 +01:00
Tatsuhiro Tsujikawa
ad5c6945cf
Bump up version number to 1.4.1-DEV
2015-10-25 17:38:04 +09:00
Tatsuhiro Tsujikawa
da1eb19a73
Add missing documents to APIDOCS
2015-10-25 17:24:10 +09:00
Tatsuhiro Tsujikawa
af3bc53332
Update bash_completion files
2015-10-25 17:11:03 +09:00
Tatsuhiro Tsujikawa
86911bd67d
Update man pages
2015-10-25 17:10:41 +09:00
Tatsuhiro Tsujikawa
6b0bde6c31
Update doc so that we can use hyperlink to referred options
2015-10-25 17:10:41 +09:00
Tatsuhiro Tsujikawa
9231a4ba57
nghttpx: Replace old script file options with --mruby-file
2015-10-25 17:05:15 +09:00
Tatsuhiro Tsujikawa
0b2c139eaa
clang-format-3.5
2015-10-25 17:04:54 +09:00
Tatsuhiro Tsujikawa
2b769bc162
Bump up version number to 1.4.0, LT revision to 16:0:2
2015-10-25 16:59:16 +09:00
Tatsuhiro Tsujikawa
5d3d377c03
Add missing NGHTTP2_EXTERN to public functions
2015-10-25 16:51:50 +09:00
Tatsuhiro Tsujikawa
8770c82832
Merge pull request #407 from 187j3x1/doc-update
...
Update doc for Debian 7.0 or above and add g++ requirement
2015-10-25 16:25:01 +09:00
Tatsuhiro Tsujikawa
4960583637
Increase NGHTTP2_MAX_OBQ_FLOOD_ITEM to avoid false positives
2015-10-25 16:23:29 +09:00
187j3x1
4e6eed9189
Update doc: rename python3.4-dev and add g++ build requirement
2015-10-25 10:55:36 +08:00
Tatsuhiro Tsujikawa
166433f780
Update README.rst
2015-10-25 11:33:29 +09:00
Tatsuhiro Tsujikawa
b832caccd4
Fix typo
2015-10-25 11:31:55 +09:00
Tatsuhiro Tsujikawa
907798707c
nghttpx: Fix compile error with Android NDK
2015-10-24 19:31:09 +09:00