Tatsuhiro Tsujikawa
2952706b53
Fix scan-build error
2015-06-10 00:29:03 +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
a8ea86cfe5
src: constexpr
2015-04-12 17:51:23 +09:00
Tatsuhiro Tsujikawa
7451a73def
nghttpx: Don't push resource if link header has non empty loadpolicy
2015-04-12 17:42:25 +09:00
Tatsuhiro Tsujikawa
4042ff0fc4
nghttpx: Fix te header field is duplicated when forwarding HTTP/2 backend
2015-03-25 01:17:06 +09:00
Tatsuhiro Tsujikawa
125e32eb56
src: Refactor a bit
2015-03-24 21:45:59 +09:00
Tatsuhiro Tsujikawa
661fb2eb0e
NULL-terminate name and value in nghttp2_nv
...
Guaranteeing NULL-termination is very useful when name or value are
used with C functions which requires NULL-terminated string.
2015-03-23 23:25:57 +09:00
Tatsuhiro Tsujikawa
6893608ae2
Use literal instead of computed value in token lookup
2015-03-21 23:03:37 +09:00
Tatsuhiro Tsujikawa
928d3e5f3f
nghttpx: Allow sending trailer header field
2015-03-08 17:51:52 +09:00
Tatsuhiro Tsujikawa
94ca9705ef
asio: Rewrite response body handling if response body is not expected
2015-03-06 21:36:40 +09:00
Tatsuhiro Tsujikawa
9302e3edf4
src: Use util::streq_l to compare against string literal
2015-02-20 23:57:40 +09:00
Tatsuhiro Tsujikawa
07fdaaba45
src: Use case-insensitive match when parsing Link header field
2015-02-10 23:29:45 +09:00
Tatsuhiro Tsujikawa
3e2714810a
src: Fix invalid memory access
2015-02-10 21:28:17 +09:00
Tatsuhiro Tsujikawa
68866f53b0
src: Use nullptr instead of 0, since they are char*
2015-02-09 23:45:20 +09:00
Tatsuhiro Tsujikawa
ad8e9a4741
src: Ignore URI with non-empty anchor parameter
2015-02-09 23:25:10 +09:00
Tatsuhiro Tsujikawa
3c5d8f446b
src: Fix typo
2015-02-09 23:25:10 +09:00
Tatsuhiro Tsujikawa
2e425e3cb6
src: Support backslash escapes in quoted-string when parsing Link header
2015-02-09 23:25:10 +09:00
Tatsuhiro Tsujikawa
1b00bc1929
src: Support rel with quoted value in Link header parser
2015-02-09 23:25:10 +09:00
Tatsuhiro Tsujikawa
d151759f8a
nghttpx: Fix location rewrite, take 2
2015-02-08 21:26:47 +09:00
Tatsuhiro Tsujikawa
4d47c31ebe
src: Refactor parse_next_link_header_once
2015-02-08 17:47:21 +09:00
Tatsuhiro Tsujikawa
9e723b6b1d
src: Rename LinkHeader.url as LinkHeader.uri
2015-02-08 17:29:38 +09:00
Tatsuhiro Tsujikawa
88f0bc70c4
nghttpx: Reworkd inherited request headers in PUSH_PROMISE
2015-02-08 16:10:01 +09:00
Tatsuhiro Tsujikawa
b14cfaf308
src: Store token in Header object to avoid additional lookups
2015-02-08 16:10:01 +09:00
Tatsuhiro Tsujikawa
c55d7343ca
nghttpx: Support server push using Link header field
...
nghttpx server push is initiated by looking for Link header field from
backend server response. Currently we only enable server push for
HTTP/1 backend and without HTTP/2 proxy mode. The URIs which have
rel=preload are eligible to resource to be pushed.
2015-02-08 16:10:00 +09:00
Tatsuhiro Tsujikawa
f8f9b36acd
http2: Use std::array for indexing headers
2015-02-06 00:15:43 +09:00
Tatsuhiro Tsujikawa
82f90f9030
nghttpx: Rewrite :authority and host header field
...
We don't rewrite them if -s or -p is used
2015-02-04 01:42:19 +09:00
Tatsuhiro Tsujikawa
2a56a3d9ea
nghttpx: Fix te request header handling
...
Checking against "trailers" is enough for now.
2015-01-25 22:58:43 +09:00
Tatsuhiro Tsujikawa
434e80dc7b
nghttpx: Reset stream if TE header field contains other than trailer
2015-01-24 15:31:59 +09:00
Tatsuhiro Tsujikawa
b11e1afc91
nghttpx: Remove unused noop function
2015-01-15 23:14:25 +09:00
Tatsuhiro Tsujikawa
aa1c8d1fa4
nghttpx: Don't forward Trailer header field
2015-01-14 21:33:22 +09:00
Tatsuhiro Tsujikawa
f26d436ee6
src: http2::lookup_token: Don't need to make char lowcase
2015-01-05 18:17:52 +09:00
Tatsuhiro Tsujikawa
3ae44ef2f3
nghttpd, nghttpx: Rework incoming header handling
2015-01-05 01:46:41 +09:00
Tatsuhiro Tsujikawa
ea0ab938c4
src: Only index header in lowercase
2015-01-03 21:56:59 +09:00
Tatsuhiro Tsujikawa
8e3406ad20
nghttpd: Use faster request header handling
2015-01-03 00:19:41 +09:00
Tatsuhiro Tsujikawa
9a35dbc4ab
src: Just check emptiness for value since spaces around value are stripped
2014-12-15 23:14:07 +09:00
Tatsuhiro Tsujikawa
6f70a53da6
src: http2::add_header: strip white spaces in value
2014-12-15 23:04:45 +09:00
Tatsuhiro Tsujikawa
b1f807abd1
Reformat lines with clang-format-3.5
2014-11-27 23:56:30 +09:00
Tatsuhiro Tsujikawa
4d93dd9d91
Upate to draft-15
...
* Add NGHTTP2_HTTP_1_1_REQUIRED error code
* Allow transmission of WINDOW_UPDATE on reserved (remote)
* Allow reception of WINDOW_UPDATE on reserved (local)
* Treat frame larger than MAX_FRAME_SIZE as FRAME_SIZE_ERROR
ALPN identifier is still h2-14 to continue interop, since draft-14 and
-15 are binary compatible. The new error code was added in draft-15,
but HTTP/2 allows extensions can freely add new error code, so it is
not a problem.
2014-10-30 22:40:02 +09:00
Tatsuhiro Tsujikawa
8890e593e6
src: Add util::array_size
2014-08-28 00:45:12 +09:00
Tatsuhiro Tsujikawa
1673ae2c99
src: Add 308 Permanent Redirect (RFC 7238)
2014-08-24 22:56:48 +09:00
Tatsuhiro Tsujikawa
30fa6d24d0
nghttpx: Rewirte server header field if configured as reverse proxy
2014-08-14 22:45:21 +09:00
Tatsuhiro Tsujikawa
e217e789de
nghttp: Support non-final response and check pseudo headers
2014-08-08 23:03:12 +09:00
Tatsuhiro Tsujikawa
d4d56e1846
nghttpd, nghttpx: Check that pseudo headers come before normal headers
2014-08-08 20:52:32 +09:00
Tatsuhiro Tsujikawa
d496c42dc9
Revert "nghttpx, nghttpd: Check pseudo header fields come before normal header fields"
...
This reverts commit cc24b9aaf0
.
2014-08-08 20:17:03 +09:00
Tatsuhiro Tsujikawa
05f982dcfb
src: Sort header fields so that pseudo headers come first
2014-08-07 23:27:13 +09:00
Tatsuhiro Tsujikawa
cc24b9aaf0
nghttpx, nghttpd: Check pseudo header fields come before normal header fields
2014-08-07 22:49:34 +09:00
Tatsuhiro Tsujikawa
9fb2bc8468
src: Remove http2::sort_nva
...
This function is no longer necessary because 0x00 concatenation rule
is gone.
2014-08-07 21:55:30 +09:00
Tatsuhiro Tsujikawa
6e027ad830
nghttpd, nghttpx: Check allowed pseudo headers
2014-07-31 23:05:53 +09:00
Tatsuhiro Tsujikawa
4f815521ae
nghttpx, nghttpd: Support non-final response
2014-07-31 23:05:52 +09:00
Tatsuhiro Tsujikawa
af5fd2019d
src: Remove 0x00 concatenation for headers
...
Now concatenating header values with 0x00 as delimiter is not
necessary because HPACK reference set is removed and the order of
header field fed into HPACK encoder is preserved when they are
decoded.
2014-07-31 23:05:52 +09:00