nghttp2 - HTTP/2 C Library and tools
Go to file
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
contrib Add contrib/.gitignore 2014-11-23 19:32:54 +09:00
doc Update man pages 2015-02-15 13:07:23 +09:00
examples examples/client: Send SETTINGS 2015-02-06 01:22:29 +09:00
fedora fedora: add spec file 2012-10-27 14:54:06 -07:00
integration-tests Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
lib Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
m4 examples: Build tiny-nghttpd only when epoll is available 2014-09-27 23:45:57 +09:00
python python: Fix request header ordering 2015-01-05 17:00:07 +09:00
src Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
tests Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
third-party Remove AM_EXTRA_RECURSIVE_TARGETS since travis automake is too old 2015-01-21 02:07:16 +09:00
.clang-format Add .clang-format config file and git-clang-format from clang project 2014-11-27 23:56:29 +09:00
.gitignore Add contribution guidelines 2014-11-27 23:56:29 +09:00
.travis.yml travis: Add libev-dev 2015-01-03 00:25:19 +09:00
AUTHORS Added libtool files 2012-01-18 00:53:12 +09:00
COPYING Add text dealing license around contribution to COPYING 2014-08-17 15:10:57 +09:00
ChangeLog Added libtool files 2012-01-18 00:53:12 +09:00
Dockerfile.android Update instruction and Dockerfile to build android binary 2015-01-11 17:04:50 +09:00
Makefile.am integration: Add Makefile and `make it` to run integration tests 2015-01-20 01:14:22 +09:00
NEWS Rebranding nghttp2 2013-07-13 00:43:06 +09:00
README Added libtool files 2012-01-18 00:53:12 +09:00
README.rst Update README.rst 2015-02-15 16:48:37 +09:00
android-config Use clang for android build 2015-01-11 18:50:54 +09:00
android-make Replace HTTP/2.0 with HTTP/2 2014-03-30 19:26:37 +09:00
configure.ac Bump up version number to 0.7.5-DEV 2015-02-15 13:14:07 +09:00
gendowncasetbl.py mod a+x to auto-gen scripts 2014-10-27 21:27:41 +09:00
genheaderfunc.py nghttpx: Reworkd inherited request headers in PUSH_PROMISE 2015-02-08 16:10:01 +09:00
genlibtokenlookup.py Validate HTTP semantics by default 2015-02-20 01:01:10 +09:00
gennmchartbl.py mod a+x to auto-gen scripts 2014-10-27 21:27:41 +09:00
genvchartbl.py mod a+x to auto-gen scripts 2014-10-27 21:27:41 +09:00
git-clang-format Add .clang-format config file and git-clang-format from clang project 2014-11-27 23:56:29 +09:00
help2rst.py help2rst.py: Strip trailing ':' after section 2015-02-01 18:32:51 +09:00
makebashcompletion Add bash_completion files for nghttp, nghttpd, nghttpx and h2load 2015-02-15 12:05:27 +09:00
makemanpages Produce man pages using sphinx 2015-01-10 00:37:42 +09:00
makerelease.sh Update release script 2014-02-05 23:12:53 +09:00
mkcipherlist.py mkcipherlist.py: Update doc 2014-10-27 21:24:41 +09:00
mkhufftbl.py mkhufftbl.py: Update doc 2014-10-27 21:24:41 +09:00
mkstatichdtbl.py mkstatictbl.py: Update doc 2014-10-27 21:24:41 +09:00
nghttpx.conf.sample Rename shrpx.conf.sample as nghttpx.conf.sample 2013-08-30 22:46:28 +09:00
pre-commit Add pre-commit script 2014-11-27 23:56:29 +09:00
proxy.pac.sample Add sample pac file and release script 2013-01-12 17:05:11 +09:00

README

See README.rst