Commit Graph

718 Commits

Author SHA1 Message Date
Simone Bordet 89b20b4692 Merged branch 'jetty-9.3.x-845'. 2016-09-05 21:36:04 +02:00
Greg Wilkins 8edc5f73a2 fixed javadoc 2016-09-02 15:53:28 +10:00
Greg Wilkins 1f7c5a5b20 Issue #898
Added addCSV method to HttpFields to more efficiently add values to a CSV field without duplicates.
Improved usage of QuotedCSV and removed older parsing

Used new method in GazipHttpOutPutInterceptor to avoid duplicate Vary fields
2016-09-02 14:57:13 +10:00
Greg Wilkins f856107301 Merge remote-tracking branch 'origin/jetty-9.2.x' into jetty-9.3.x 2016-08-31 19:05:57 +10:00
Greg Wilkins 0155ae761c Issue #880 Improve IPv6 support
For #880 added the HostPort class, which was used to fix #878, #879, #884 and #886
2016-08-31 16:46:11 +10:00
Greg Wilkins 3d93d39b39 Issue #845 data rate limits
Initial thoughts
2016-08-16 16:24:14 +10:00
Greg Wilkins b45af1a3c9 Issue #185 Implement RFC 7239
Also handle legacy Https headers for #834
2016-08-11 18:56:51 +10:00
Jan Bartel a9653e2f49 Issue #797
Use MimeTypes.class.getClassLoader to load properties.
2016-08-10 12:07:29 +10:00
Jan Bartel 4b920622d5 Issue #797 2016-08-03 18:33:53 +10:00
Greg Wilkins 53a1b8f995 OSGI MimeTypes resource #797
Pass MimeTypes.class as the classloader source.  
No unit test to confirm the fix.
2016-08-02 12:48:50 +10:00
Greg Wilkins e0a1a1988f Response.reset does not clear session cookie #789 2016-07-29 16:45:09 +10:00
Greg Wilkins e53ea55f48 Issue #752 SETTINGS_MAX_HEADER_LIST_SIZE
Defined missing status codes (removed old/wrong javadoc)
Changed use of 413 to 431
Received SETTINGS_MAX_HEADER_LIST_SIZE is set on hpack encoded and warning generated only for large responses.
2016-07-23 12:17:50 +10:00
Greg Wilkins 7e16731b9d fix #592 2016-07-20 16:59:28 +10:00
Greg Wilkins d6c73118be less verbose #723 2016-07-20 14:19:13 +10:00
Joakim Erdfelt b58cd5870b Fixes #723 - improves MimeType resource loading and error reporting (#724)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2016-07-20 14:08:44 +10:00
Simone Bordet a3b5e7ebb7 Added guards against NPE in case HttpField.getValue() returns null. 2016-07-15 15:45:50 +02:00
Simone Bordet 389eb68c3c Code cleanups. 2016-07-15 15:45:50 +02:00
Greg Wilkins 45ead1bb29 jetty http2 client parse error #726 2016-07-15 13:47:41 +10:00
Greg Wilkins 05c6a3664f Improved the HttpTester and added a Test 2016-05-30 21:08:37 +10:00
Greg Wilkins 695b63fc78 Issue #525 Looping on malformed request
Improved onBadMessage handling so that it better handles ISE thrown when a bad message is detected while dispatched to the servlet.
2016-04-27 18:57:15 +10:00
Greg Wilkins c768828703 Issue #458 Improve Quality list handling
Added QuotedCSV and QuotedQualityCSV that are up to date with RFC7230
2016-03-30 19:07:11 +11:00
Greg Wilkins 8b228073e3 Issue #448 - RFC2616 Compliance Mode should track and report RFC7230 violations
Efficiency improvements
2016-03-24 11:37:39 +11:00
Greg Wilkins 4ae077f2b6 Issue #448 - RFC2616 Compliance Mode should track and report RFC7230 violations
Improved compliance level reporting
Improved method names to make code read better
2016-03-23 14:42:05 +11:00
Greg Wilkins 7f96db72c4 Issue #448 - RFC2616 Compliance Mode should track and report RFC7230 violations
Empty value is not a compliance issue
removed debug
moved violation handling to end of header rather than end of message
2016-03-23 13:13:16 +11:00
Joakim Erdfelt 0e2472b8e1 Issue #451 - RFC2616 Compliance mode should support empty headers
Updating test cases to show empty quoted header quirk
2016-03-22 11:20:50 -07:00
Greg Wilkins 9352d91d48 Issue #448 Log Compliance violations
Added a ComplianceHandler to HttpParsere to log compliance violations for #448
Am cautious that this may have a performance impact.
2016-03-22 13:58:50 +11:00
Simone Bordet 838b5e4df2 Added test for newlines in header value. 2016-03-14 12:32:20 +01:00
Simone Bordet c583054a17 Code cleanup. 2016-03-14 12:31:28 +01:00
Simone Bordet 0b82129cd8 Issue #423 (Duplicate Content-Length header not handled correctly)
Refactored tests into existing test class.
2016-03-12 00:27:48 +01:00
Simone Bordet 5f2e2820f4 Issue #423 (Duplicate Content-Length header not handled correctly)
Fixed as required by the spec, rejecting the request.
2016-03-11 22:49:24 +01:00
Joakim Erdfelt 862ec6f848 Merge branch 'jetty-9.2.x' into jetty-9.3.x 2016-03-08 14:32:04 -07:00
Joakim Erdfelt 07d54224c7 Issue #405 - adding testcase for problematic HttpURI parsing of path params 2016-03-07 17:12:05 -07:00
Joakim Erdfelt 2cc50ed925 Issue #316 - Add *.chm mimetype mapping 2016-03-07 16:32:36 -07:00
Greg Wilkins 10bd934476 Issue #346 HttpParser RFC2616 Compliance mode
Empty header values returned as "" in all compliance modes
2016-03-05 14:26:47 +01:00
Greg Wilkins d1fc5eb67d Revert "Issue #346 HttpParser RFC2616 Compliance mode"
This reverts commit 58e5a54ab6.
RFC7430 allows empty header values
2016-03-05 11:03:32 +01:00
Greg Wilkins 58e5a54ab6 Issue #346 HttpParser RFC2616 Compliance mode
Ignore headers without values.
2016-03-05 11:03:11 +01:00
Greg Wilkins f4453ba5e0 Issue #346 HttpParser RFC2616 Compliance mode
Headers with no value return "" in <= RFC2616 mode
2016-03-05 09:21:34 +01:00
Greg Wilkins 1eeecdaee5 Issue #355 Improve close behaviour
Inverted the logic of the handling of exceptions thrown in CommitCallback.
Now only if a BadMessageException is throw do we attempt to write a 500 response.
All other exceptions just abort the connection
2016-02-24 13:36:06 +01:00
Greg Wilkins c3a54e9d0b fixed javadoc 2016-02-23 18:23:23 +01:00
Greg Wilkins 3c671aa8b6 Issue #346 HttpParser RFC2616 Compliance mode
Reimplmented HTTP/0.9 support in RFC2616 compliance mode
2016-02-23 17:33:53 +01:00
Greg Wilkins 27585d923c Issue #346 HttpParser RFC2616 Compliance mode
removed System Property for compliance
2016-02-19 12:14:06 +01:00
Greg Wilkins 72edbe5cea Issue #346 HttpParser RFC2616 Compliance mode
Added RFC2616 compliance mode that allows wrapped headers
2016-02-19 11:22:52 +01:00
Greg Wilkins fd5b3a8062 487714 - Avoid NPE in close race for async write
The race has not been solved, as with lock-free style it is difficult to prevent a
close racing with a write in progress. Instead, the code has been made more
resiliant to such state changes and exceptions thrown are converted to IOExceptions.
2016-02-16 10:06:25 +01:00
Simone Bordet 26b6c848f3 Issue #80 (Spin loop in case of HTTP/2 prefaces without H2C).
Fixed by changing the state of the parser before calling the parser
handler callbacks, and by closing the parser if the upgrade to HTTP/2
is not successful.
2016-02-15 20:50:22 +01:00
Greg Wilkins 6a9002991a Issue #79 Parse HTTP request target starting with //
Added a new parseRequestTarget method
2016-02-15 19:40:10 +01:00
Simone Bordet 6306f06e2f Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-02-09 18:12:04 +01:00
Simone Bordet 145e4bee71 487511 - Jetty HTTP won't work on turkish systems.
Fixed usages of toLowerCase() and toUpperCase() to use Locale.ENGLISH.
2016-02-09 17:50:26 +01:00
Greg Wilkins f2e71a2dde 485306 - HttpParser (HttpURI) mistaking basic auth password as a port number
Added support for a password and a getUser() method
2016-02-03 14:28:08 +01:00
Joakim Erdfelt cd39fd84fe Happy New Year 2016 2016-01-04 14:31:22 -07:00
Joakim Erdfelt b5db18378d Happy New Year 2016 2016-01-04 14:21:26 -07:00