Commit Graph

2764 Commits

Author SHA1 Message Date
Tatsuhiro Tsujikawa b9a9a23b1e nghttpx: Close connection when error_reply is used for HTTP/1 upstream 2015-01-20 23:37:00 +09:00
Tatsuhiro Tsujikawa 8059380fb0 nghttpx: Don't need to set response state to MSG_COMPLETE after error_reply 2015-01-20 23:33:45 +09:00
Tatsuhiro Tsujikawa 039d9db5a3 integration: Make multiline string a bit readable 2015-01-20 23:30:38 +09:00
Tatsuhiro Tsujikawa b9f41e34ef nghttpx: Return error when downstream HTTP/1 connection attempt failed 2015-01-20 23:27:30 +09:00
Tatsuhiro Tsujikawa ca7288ae38 nghttpx: Return 502 if HTTP/1 downstream receives multiple CLs 2015-01-20 23:11:54 +09:00
Tatsuhiro Tsujikawa a789008f17 integration: Treat blocking error as fatal 2015-01-20 22:59:09 +09:00
Tatsuhiro Tsujikawa 53142222fe integration: Code cleanup 2015-01-20 22:56:36 +09:00
Tatsuhiro Tsujikawa f1bec6f05c nghttpx: Return 400 for multiple CLs for HTTP/1 upstream 2015-01-20 22:55:01 +09:00
Tatsuhiro Tsujikawa 506177e1bd integration: Ensure that proxy does not forward bad request 2015-01-20 22:31:21 +09:00
Tatsuhiro Tsujikawa 91151f1f56 integration: Fix minor typo 2015-01-20 22:25:56 +09:00
Tatsuhiro Tsujikawa daec7c16d3 nghttpx: Don't discard data on HTTP/1 backend EOF
Also HTTP/1 frontend testing method was added.
2015-01-20 22:19:28 +09:00
Tatsuhiro Tsujikawa 6e446934d4 integration: Add recursive it target 2015-01-20 21:19:52 +09:00
Tatsuhiro Tsujikawa 9ab71305d1 integration: Add Makefile and `make it` to run integration tests 2015-01-20 01:14:22 +09:00
Tatsuhiro Tsujikawa ae1aac26a7 integration: Set test naming convention 2015-01-20 00:59:09 +09:00
Tatsuhiro Tsujikawa 8eb2160890 integration: Add tests for HTTP/2 backend using go-nghttp2 2015-01-20 00:45:51 +09:00
Tatsuhiro Tsujikawa a440bdf15e nghttpx: Response 502 if HTTP/2 backend receives invalid Content-Length 2015-01-19 23:44:23 +09:00
Tatsuhiro Tsujikawa 8004ea9726 nghttpx: Return 400 if request CL is invalid or multiple CLs 2015-01-19 22:40:37 +09:00
Tatsuhiro Tsujikawa 5436c95788 integration: Add HTTP/2 chunked request body test 2015-01-19 22:20:56 +09:00
Tatsuhiro Tsujikawa 467565589c integration: Use smaller interval to check server availability 2015-01-19 21:25:59 +09:00
Tatsuhiro Tsujikawa 8f45bf7b9e integration: Use []hpack.HeaderField instead of http.Header in requestParam
With array, we can control the order of header field directly.
2015-01-19 21:24:18 +09:00
Tatsuhiro Tsujikawa 09939cf6bc integration: Code cleanup
Don't close channel to avoid potential write-after-close.
Use time.After instead of time.NewTimer
2015-01-19 21:18:35 +09:00
Tatsuhiro Tsujikawa e8053ac931 nghttpx: Check Content-Length only when Transfer-Encoding is not found 2015-01-19 21:16:47 +09:00
Tatsuhiro Tsujikawa fff785178d Add integration tests for nghttpx using golang testing framework
The integration tests reside in integration-tests directory.  To run
integration tests, cd integration-tests, then run "go test".  Tests
depends on https://github.com/bradfitz/http2.
2015-01-19 00:27:24 +09:00
Tatsuhiro Tsujikawa af24f8394e nghttpx: Fix nghttp2 error code use in SPDY upstream 2015-01-17 21:35:36 +09:00
Tatsuhiro Tsujikawa 62b9e4bb56 nghttpx: Validate received request body length against content-length 2015-01-17 21:33:23 +09:00
Tatsuhiro Tsujikawa 441f1cc282 nghttpx: Validate received response body length against content-length 2015-01-17 21:33:23 +09:00
Tatsuhiro Tsujikawa f92110c54c nghttpx: Http2Upstream: Try to read data from backend if buffer is empty 2015-01-17 17:37:32 +09:00
Tatsuhiro Tsujikawa 1cb6d5cb6d Define NOTHREADS to 1 if thread_local keyword is not available 2015-01-17 15:52:28 +09:00
Tatsuhiro Tsujikawa 3817798905 Compile with g++-4.7
g++-4.7 lacks thread_local, which can be workaround by
--disable-threads.  What left remaining is std::map::emplace, which is
what this change deals with.  First check availability of
std::map::emplace, if there is none, use std::map::insert.
2015-01-17 15:32:49 +09:00
Tatsuhiro Tsujikawa 13a14ecda8 nghttpx: Workaround IRIX's struct sockaddr which contains union 2015-01-17 14:59:24 +09:00
Tatsuhiro Tsujikawa 2b458666ba nghttpd: Fix compiler warning 2015-01-16 23:22:10 +09:00
Tatsuhiro Tsujikawa 06a8d684a6 Fixed typo 2015-01-16 22:29:22 +09:00
Tatsuhiro Tsujikawa 18d42b411b Update man pages 2015-01-16 00:10:16 +09:00
Tatsuhiro Tsujikawa cbd878bbd5 nghttp, nghttpd: Allow unit for --header-table-size option 2015-01-16 00:07:52 +09:00
Tatsuhiro Tsujikawa 49eeed8420 help2rst.py: Update number of indentation 2015-01-16 00:07:52 +09:00
Tatsuhiro Tsujikawa 5f36d91afd nghttp, nghttpd, h2load: Same indentation with nghttpx 2015-01-16 00:07:52 +09:00
Tatsuhiro Tsujikawa a08ce38bcf nghttpd: Cache date by comparing ev_now 2015-01-15 23:27:52 +09:00
Tatsuhiro Tsujikawa 5d204fc3aa nghttpx: Add more option categories 2015-01-15 23:19:35 +09:00
Tatsuhiro Tsujikawa 84ead30e58 nghttpx: Remove NGHTTP2_HCAT_REQUEST halding since already handled in lib 2015-01-15 23:16:24 +09:00
Tatsuhiro Tsujikawa b11e1afc91 nghttpx: Remove unused noop function 2015-01-15 23:14:25 +09:00
Tatsuhiro Tsujikawa c3aa02f003 nghttpd: Use Http2Handler::submit_rst_stream 2015-01-15 23:11:14 +09:00
Tatsuhiro Tsujikawa d142830109 nghttpd: Issue RST_STREAM if content-length does not match uploaded bytes 2015-01-15 23:07:25 +09:00
Tatsuhiro Tsujikawa 22e41bab3f nghttpd: Issue RST_STREAM if received header field contains invalid chars 2015-01-15 22:45:18 +09:00
Tatsuhiro Tsujikawa b0078a2379 Suppress to send frames other than GOAWAY if NGHTTP2_GOAWAY_TERM_ON_SEND is set
This change makes sure that GOAWAY which terminates session is
immediately sent without blocked by other frames.
NGHTTP2_ERR_SESSION_CLOSING library error code was added to indicate
this situation to callback.
2015-01-15 22:32:29 +09:00
Tatsuhiro Tsujikawa 50109bb307 Use NGHTTP2_STREAM_CLOSED when DATA arrived to stream which is not open 2015-01-14 23:31:21 +09:00
Tatsuhiro Tsujikawa aa1c8d1fa4 nghttpx: Don't forward Trailer header field 2015-01-14 21:33:22 +09:00
Tatsuhiro Tsujikawa 1de20c1232 nghttpx: Ignore trailer headers in HTTP/1.1 2015-01-14 21:28:31 +09:00
Tatsuhiro Tsujikawa 8fe093de1d nghttpx: Set initial backlog to 512 2015-01-14 21:24:12 +09:00
Tatsuhiro Tsujikawa f004361ef2 nghttpx: Add --backend-request-buffer option 2015-01-13 23:30:28 +09:00
Tatsuhiro Tsujikawa d6db38a318 nghttpx: Clean up integer configuration range checking 2015-01-13 23:23:35 +09:00