Commit Graph

1650 Commits

Author SHA1 Message Date
Lachlan Roberts 1eec234336 Minor changes after review by gregw.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-03 21:22:16 +10:00
Lachlan Roberts 13b15e3566 Resolved Charset Issues and Reworked Request.MultiPartInputStream
Changed Request.MultiPartInputStream to an interface called MultiParts where there is an implementation for both the HTTP and UTIL parsers.

Resolved some issues with default charsets in regards to request.setCharacterEncoding and the _charset_ part for issue #2398.

Changed HTTP parser to operate the same as UTIL parser in situtions with parts not of type form-data or without name field. HTTP parser was ignoring these parts, UTIL parser was throwing exceptions.

Replaced the context attribute with a field in MultiParts.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-03 15:24:54 +10:00
Lachlan Roberts c418297db6 Minor cleanups
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-29 18:04:42 +11:00
Lachlan Roberts 8a8324cb18 Completed benchmark for UTIL vs HTTP multipart parser. Fixed some tests in MultiPartCaptureTest.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-29 16:29:48 +11:00
Lachlan Roberts 7cea305269 Added some extra Debug information in the LOG
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-27 16:47:21 +11:00
Lachlan Roberts ba88b39179 Work on resolving issues with the new tests in MultiPartCaptureTest.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-27 15:43:16 +11:00
Lachlan Roberts 9557f02fea Fixed converstion to lower case by using StringUtil.asciiToLowerCase method.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-27 12:02:10 +11:00
Greg Wilkins ba56bc7994 Deprecated transfer encoding for parts
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-27 11:55:20 +11:00
Greg Wilkins a756ac50c6 Use UTF-8 for part headers
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-27 11:45:38 +11:00
Greg Wilkins 6ac5970680 renamed test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-27 10:32:13 +11:00
Greg Wilkins 585f03464b Merge remote-tracking branch 'lachlan/jetty-9.4.x-1027-Multipart' into jetty-9.4.x-1027-Multipart 2018-03-27 10:29:05 +11:00
Greg Wilkins a59f681b00 run old and new parser in test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-27 10:10:55 +11:00
Lachlan Roberts ce3698ea75 Merge remote-tracking branch 'eclipse/jetty-9.4.x-1027-Multipart' into jetty-9.4.x-1027-Multipart 2018-03-27 09:19:47 +11:00
Lachlan Roberts ca534d08fb Minor changes to code, documentation and formatting after review.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-27 09:11:57 +11:00
Greg Wilkins 8416c31ff8 compare MH5 hash without case sensitivity
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-27 08:33:07 +11:00
Greg Wilkins 2f07940052 compare MH5 hash without case sensitivity
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-23 10:18:03 +11:00
Greg Wilkins 2cc26f0e71 Merge branch 'jetty-9.4.x' into jetty-9.4.x-1027-Multipart 2018-03-23 09:34:52 +11:00
Joakim Erdfelt 1c04f9838d Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x-fixed 2018-03-22 16:42:42 -05:00
Joakim Erdfelt 9d1809f43e Issue #1027 - Adding raw browser multipart captures to jetty-http
+ Many more decoding issues identified in MultiPartParsingTest
 + Including Part.getInputStream() related issues

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-03-22 13:24:47 -05:00
Joakim Erdfelt 2004f0eb78 Issue #1027 - Adding jetty-http version of newer MultiPartParsingTest
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-03-22 10:21:57 -05:00
Greg Wilkins 8312f4567b Merge branch 'jetty-9.4.x' into jetty-9.4.x-1027-Multipart 2018-03-21 16:50:29 +11:00
Lachlan Roberts 0f28107a9c Implemented warnings for old MultiPartInputStreamParser when successfully parsing content not conforming to RFC.
Modified tests in new MultiPartInputStreamTest which were failing because they didn't comply with RFC.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-21 16:24:21 +11:00
Joakim Erdfelt c3cc138a3b Updating to version 9.4.10-SNAPSHOT 2018-03-20 08:25:59 -05:00
Joakim Erdfelt 1f8159b1e4 Updating to version 9.4.9.v20180320 2018-03-20 07:18:24 -05:00
Lachlan Roberts 93b8161afb Reworked MultipartParser with additional option to accept CR as CRLF.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-20 11:40:55 +11:00
Lachlan Roberts 0ce3ccd4eb Merge remote-tracking branch 'eclipse/jetty-9.4.x-1027-Multipart' into jetty-9.4.x-1027-Multipart 2018-03-18 22:05:29 +11:00
Lachlan Roberts df83cca010 Rewrote the parse method to use the MultiPartParser, some error handling not implemented so only passing half of the tests.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-18 21:53:54 +11:00
Greg Wilkins a5d3b01659 Merge branch 'jetty-9.4.x' into jetty-9.4.x-1027-Multipart 2018-03-14 16:25:56 +11:00
Lachlan Roberts fcd2d49da1 Moved a copy of MultipartInputStreamParser and MultipartInputStreamTest into jetty.http
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-14 15:51:43 +11:00
Greg Wilkins a77a127da0 tests and fixes for binary keys and content
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-14 15:02:56 +11:00
Lachlan Roberts 4dce09c067 Completed the split test.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-14 14:27:03 +11:00
Greg Wilkins c1f038d3bf Merge branch 'jetty-9.4.x' into jetty-9.4.x-2232-HttpParser-cleanup 2018-03-14 09:32:51 +11:00
Joakim Erdfelt 7374d6563d Merge branch 'jetty-9.4.x' of github.com:eclipse/jetty.project into jetty-9.4.x 2018-03-13 14:24:57 -05:00
Joakim Erdfelt aafda1a279 Issue #2280 - adding default utf-8 encoding to application/json 2018-03-13 14:24:37 -05:00
Lachlan Roberts 20c9fb45f8 Reworked the tests on EPILOGUE and multiple content. All tests are passing.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-13 20:21:10 +11:00
Greg Wilkins faa32f0c71 improved handler signature
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-13 18:25:32 +11:00
Lachlan Roberts d670b60e4d Merge remote-tracking branch 'eclipse/jetty-9.4.x-1027-Multipart' into jetty-9.4.x-1027-Multipart
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-13 17:58:53 +11:00
Lachlan Roberts a51542ee03 work in progress EPILOGUE and END states implemented, in process of testing them
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-13 17:52:57 +11:00
Greg Wilkins 46a8fb5dc4 fixes for partial pattern matches and optional CRLF
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-13 17:40:26 +11:00
Lachlan Roberts 0435eea708 work in progress implemented OCTETS
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-13 16:13:07 +11:00
Greg Wilkins 915af401e1 HttpParser cleanup #2232
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-13 13:22:01 +11:00
Lachlan Roberts 0d4e202343 Merge remote-tracking branch 'eclipse/jetty-9.4.x-1027-Multipart' into jetty-9.4.x-1027-Multipart 2018-03-13 11:49:00 +11:00
Lachlan Roberts 66a76dae3c work in progress
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-13 11:48:41 +11:00
Greg Wilkins 267150c940 cleanup field parsing
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-13 11:09:14 +11:00
Simone Bordet 8b391a88dd Fixes #2318 - HttpParser.Listener.onBadMessage() should take BadMessageException.
Changed the signature of HttpParser.Listener.onBadMessage()
to take a BadMessageException and updated dependent code.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-12 19:51:57 +01:00
Greg Wilkins 1352be4308 added some unit tests for part content
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-12 17:39:11 +11:00
Greg Wilkins add08caec0 update after lachlan affb436433
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-12 17:27:05 +11:00
Greg Wilkins b0325f8299 work in progress
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-09 09:38:23 +11:00
Greg Wilkins dc67cb5241 Work in progres #1027
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-08 17:47:46 +11:00
Greg Wilkins bcb9fa3b32
Merge pull request #2257 from lachlan-roberts/jetty-9.4.x-2206-ReferenceEquality
Resolved errorprone ReferenceEquality warnings #2206
2018-03-07 11:11:40 +11:00
Joakim Erdfelt e3e3f9eb0b Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x-fixed 2018-03-06 11:16:25 -06:00
Lachlan Roberts 020ebde77c found additional ReferenceEquality warnings which have been resolved
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-06 14:28:11 +11:00
Lachlan Roberts a639ee9275 Resolved errorprone MissingOverride warnings #2206
`@Override` was added to methods which were missing the annotation #2206

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-01 13:59:25 +11:00
Joakim Erdfelt a05b157c03 Updating to version 9.3.24-SNAPSHOT 2018-02-28 16:39:30 -06:00
Joakim Erdfelt 0554f8d8b4 Updating to version 9.3.23.v20180228 2018-02-28 15:45:57 -06:00
Lachlan Roberts 016c8076e0 updates after review #2206
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-02-28 16:02:47 +11:00
Lachlan Roberts 0cfc25d4ed Resolved errorprone ReferenceEquality warnings #2206
Objects which inherit or implement an `equals()` method should not be compared with == or !=
When the comparison of references is intentional `@SuppressWarnings("ReferenceEquality")` can be used

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-02-28 14:26:02 +11:00
Joakim Erdfelt 3001c8af2f Merge remote-tracking branch 'origin/release-9.2.24' into jetty-9.2.x 2018-02-07 15:35:04 -06:00
Jan Bartel 7b2e490036 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-12 22:24:17 +01:00
Greg Wilkins c7e03d6175 Better name for no HTTP/0.9 #2022
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-12 18:33:46 +01:00
Greg Wilkins 1cbc1cf5e0 removed old javadoc 2018-01-11 16:58:26 +01:00
Greg Wilkins ec9827bb35 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-11 16:57:33 +01:00
Greg Wilkins 3ae5abdda6 updated header for 2018
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-11 14:55:32 +01:00
Greg Wilkins 8b7480f088 Merge branch 'jetty-9.4.x' into jetty-9.4.x-2022-FineGrainedComplianceModes 2018-01-10 22:25:49 +01:00
Greg Wilkins 3a15419047 deprecated CUSTOM enums
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-10 22:18:47 +01:00
Joakim Erdfelt d5a0878019 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-09 10:08:30 -06:00
Joakim Erdfelt 21365234f8 Issue #2108 - Updating license headers for year 2018 2018-01-09 09:44:41 -06:00
Joakim Erdfelt 41ed9f29f4 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2018-01-09 09:37:25 -06:00
Joakim Erdfelt fa4c7b0ca9 Issue #2108 - Updating license headers for year 2018 2018-01-09 08:39:37 -06:00
Joakim Erdfelt 067fc5d2d8 Issue #2108 - Upgrade licenses for 2018 2018-01-09 07:42:06 -06:00
Greg Wilkins 88f64b8abf fixed compliance names in formats
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-09 14:02:09 +01:00
Greg Wilkins 54f49dec7d Merge branch 'jetty-9.4.x' into jetty-9.4.x-2022-FineGrainedComplianceModes 2018-01-09 13:32:19 +01:00
Greg Wilkins 45e3abbdcf Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-09 13:17:32 +01:00
Greg Wilkins 9f8d3e5b32 fixes after review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-08 16:14:03 +01:00
Greg Wilkins a81c1f3880 fixes after review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-08 16:09:22 +01:00
Joakim Erdfelt bd01e1877a Updating to version 9.2.25-SNAPSHOT 2018-01-05 11:35:42 -06:00
Joakim Erdfelt a617842695 Updating to version 9.2.24.v20180105 2018-01-05 10:11:08 -06:00
Greg Wilkins f046bdc2c6 Removed RFC from enum names
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-05 10:43:00 +01:00
Greg Wilkins 22beb1d02a Updated tests to use _LEGACY modes
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-27 14:16:23 +01:00
Greg Wilkins 30e9c84b33 Added RFC7230_LEGACY compliance mode as the default
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-27 13:50:10 +01:00
Greg Wilkins 278b9b01c2 Added javadoc and STRICT compliance modes
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-27 13:24:13 +01:00
Greg Wilkins 7e516e29fb pass existing compliance tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-24 18:00:03 +01:00
Greg Wilkins d8dead35ae Issue #2022 Fine Gramed Compliance Modes
Added HttpComplianceSection and an EnumSet within HttpCompliance

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-24 14:41:18 +01:00
olivier lamy 3a189ab254 #2056 javadoc warning fixes WIP
Signed-off-by: olivier lamy <olamy@webtide.com>
2017-12-20 10:52:45 +11:00
Joakim Erdfelt 2dd970b055 Updating to version 9.2.24-SNAPSHOT 2017-12-18 10:43:47 -06:00
Joakim Erdfelt cdbe733684 Updating to version 9.2.23.v20171218 2017-12-18 09:06:48 -06:00
Greg Wilkins a25d749101 work in progress of fine grained compliance
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-16 18:06:42 +01:00
Greg Wilkins 71b775724f work in progress of fine grained compliance
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-12-16 17:15:37 +01:00
fb 7ee8bb82c6 Same code style fixes and remove unnecessary code reformatting
Signed-off-by: fb <fb@baqend.com>
2017-12-15 15:23:17 +01:00
fb a324a5ad77 Implement weak http header parsing and make the compliance mode configurable in the client
Signed-off-by: fb <fb@baqend.com>
2017-12-15 15:13:48 +01:00
fb b76240e678 Fixes #2022 - Ignore invalid chars in http header names, when the compliance mode is not RFC7230
Signed-off-by: fb <fb@baqend.com>
2017-12-15 15:12:34 +01:00
Jan Bartel 78a2c8c6d2 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-12-06 15:46:49 +01:00
Greg Wilkins d4061fcfeb
Issue #1966 Case Sensitive method (PR #1967)
Issue #1966 Case Sensitive method (PR #1967)

* Modified the compliance violations to warn if case insensitivety is applied to a header
* removed duplicated if
* Fixed string comparison
* Improved compliance messages and comments
* updated expected violation messages
* Require a header colon only when in 7230 compliance mode
2017-11-29 18:56:54 +01:00
Joakim Erdfelt ff53002fac Updating to version 9.4.9-SNAPSHOT 2017-11-21 13:11:31 -07:00
Joakim Erdfelt 82b8fb23f7 Updating to version 9.4.8.v20171121 2017-11-21 12:33:52 -07:00
Greg Wilkins 51d7f859c4 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-11-16 16:56:41 +01:00
Greg Wilkins b5a38d82ce
HttpParser is not using cached HTTP Field values (#1979)
* HttpParser is not using cached HTTP Field values

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2017-11-16 16:55:43 +01:00
Jesse McConnell a72eb0001d Updating to version 9.3.23-SNAPSHOT 2017-10-30 15:39:57 -05:00
Jesse McConnell 705048cc49 Updating to version 9.3.22.v20171030 2017-10-30 15:16:29 -05:00
Greg Wilkins 348cbb02c0 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-10-20 11:10:27 +11:00