nghttp2/tests
Tatsuhiro Tsujikawa b157d4ebb2 Validate HTTP semantics by default
Previously we did not check HTTP semantics and it is left out for
application.  Although checking is relatively easy, but they are
scattered and error prone.  We have implemented these checks in our
applications and also feel they are tedious.  To make application
development a bit easier, this commit adds basic HTTP semantics
validation to library code.  We do following checks:

server:

* HEADERS is either request header or trailer header.  Other type of
header is disallowed.

client:

* HEADERS is either zero or more non-final response header or final
  response header or trailer header.  Other type of header is
  disallowed.

For both:

* Check mandatory pseudo header fields.
* Make sure that content-length matches the amount of DATA we
  received.

If validation fails, RST_STREAM of type PROTOCOL_ERROR is issued.
2015-02-20 01:01:10 +09:00
..
testdata Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
.gitignore Update .gitignore 2013-11-04 18:39:48 +09:00
Makefile.am Use _LDADD to specify libraries instead of _LDFLAGS 2015-01-25 00:58:30 +09:00
end_to_end.py Move spdycat, spdyd and shrpx from examples to src 2012-09-10 21:39:51 +09:00
failmalloc.c failmalloc: Use nghttp2_mem instead of using dlsym 2014-12-20 23:56:33 +09:00
failmalloc_test.c failmalloc: Use nghttp2_mem instead of using dlsym 2014-12-20 23:56:33 +09:00
failmalloc_test.h tests: Add failmalloc HPACK test 2014-05-10 21:14:25 +09:00
main.c Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
malloc_wrapper.c failmalloc: Use nghttp2_mem instead of using dlsym 2014-12-20 23:56:33 +09:00
malloc_wrapper.h failmalloc: Use nghttp2_mem instead of using dlsym 2014-12-20 23:56:33 +09:00
nghttp2_buf_test.c Support custom memory allocator 2014-12-08 00:55:55 +09:00
nghttp2_buf_test.h Remove unused functions 2014-10-30 23:31:36 +09:00
nghttp2_frame_test.c Support custom memory allocator 2014-12-08 00:55:55 +09:00
nghttp2_frame_test.h Remove altsvc 2014-12-07 23:11:54 +09:00
nghttp2_hd_test.c Make huffman encoding faster 2014-12-19 23:22:55 +09:00
nghttp2_hd_test.h Make huffman encoding faster 2014-12-19 23:22:55 +09:00
nghttp2_helper_test.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_helper_test.h Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_map_test.c Support custom memory allocator 2014-12-08 00:55:55 +09:00
nghttp2_map_test.h Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_npn_test.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_npn_test.h Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_pq_test.c Support custom memory allocator 2014-12-08 00:55:55 +09:00
nghttp2_pq_test.h Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_queue_test.c Reformat lines with clang-format-3.5 2014-11-27 23:56:30 +09:00
nghttp2_queue_test.h Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_session_test.c Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
nghttp2_session_test.h Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
nghttp2_stream_test.c Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_stream_test.h Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
nghttp2_test_helper.c Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
nghttp2_test_helper.h Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00