Commit Graph

817 Commits

Author SHA1 Message Date
Greg Wilkins 09eb303d2b WIP
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-07-08 15:28:05 +00:00
Greg Wilkins cb6c582333 WIP
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-07-08 15:24:55 +00:00
Greg Wilkins b42017b942 WIP
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-07-08 14:44:38 +00:00
Joakim Erdfelt e4bfe00dce Updating to version 9.4.12-SNAPSHOT 2018-06-05 14:18:37 -05:00
Joakim Erdfelt d5fc0523cf Updating to version 9.4.11.v20180605 2018-06-05 13:23:02 -05:00
Greg Wilkins 2bcc528920 expand spruious tabs in java sources
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-29 10:40:09 +02:00
Joakim Erdfelt 1732ffca51 Updating to version 9.4.11-SNAPSHOT 2018-05-03 11:48:05 -05:00
Joakim Erdfelt daa59876e6 Updating to version 9.4.10.v20180503 2018-05-03 10:55:19 -05:00
Olivier Lamy f36eba4577
class.newInstance is deprecated #2435 (#2437)
* Class.newInstance() is deprecated in Java 9+ #2435

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-04-17 19:07:20 +10:00
Greg Wilkins c41b6b7aab
Merge pull request #2332 from eclipse/jetty-9.4.x-1027-Multipart
## SearchPattern
New class which does a fast search for patterns within strings and arrays of bytes using an implementation of the Boyer–Moore–Horspool algorithm. This was written to be used in the new MultiPartParser class to search for delimeter boundaries.

## MultiPartParser
New class which uses the SearchPattern to parse a MultiPart Mime given a ByteBuffer. Written in a non-blocking style so can be used asynchronously (although not currently be being used this way).

## MultiPartFormInputStream
New class which uses the MultiPartParser to parse a MultiPart Mime input stream into a Collection of Parts. This class is in org/eclipse/jetty/http and is designed to replace org/eclipse/jetty/util/MultiPartInputStreamParser.

## MultiPartInputStreamParser and Non Compliances
This class has been deprecated and replaced by org.eclipse.jetty.http.MultiPartFormInputStream. It accepts formats non compliant with the RFC that the new MultiPartFormInputStream does not accept. When this occurs violations are recorded by the method getNonComplianceWarnings().

## MultiParts
New interface to allow switching between the different implementations. This allows MultiParts to function in two different modes. The LEGACY implementation using the UTIL parser which may parse forms containing non compliances with the RFC, and the RFC7578 implementation using the new and faster HTTP parser. This file contains the implementations of MultiParts for HTTP and UTIL parsers as nested classes which are used by Request.

## Request
Changed to use the new MultiParts interface instead of the MultiPartInputStreamParser class. with a method called newMultiParts which will construct a MultiPart using one of the HTTP or UTIL implementations depending on what compliance mode is set.

## Jetty Test Webapp Dump Servlet
Code added to display parts while running the dump test webapp if MuliPart form is submitted.

## MultiPartBenchMark
JMH Benchmark of the HTTP multipart parser vs the UTIL multipart parser.

testLargeGenerated parses a 10MB file of random binary data.
testParser parses a series of small multipart forms captured by a browser.
```
# Run complete. Total time: 00:02:09

Benchmark                              (parserType)  Mode  Cnt  Score   Error  Units
MultiPartBenchmark.testLargeGenerated          UTIL  avgt   10  0.252 ± 0.025   s/op
MultiPartBenchmark.testLargeGenerated          HTTP  avgt   10  0.035 ± 0.004   s/op
MultiPartBenchmark.testParser                  UTIL  avgt   10  0.028 ± 0.005   s/op
MultiPartBenchmark.testParser                  HTTP  avgt   10  0.015 ± 0.006   s/op
```
2018-04-04 17:30:36 +10:00
Jan Bartel 16e625adde
Issue #2109 remove warnings for unused imports and exports (#2390)
Signed-off-by: Jan Bartel <janb@webtide.com>
2018-04-04 12:06:43 +10:00
Lachlan Roberts 4a0e4294b9 fixed path of MultiPartFormDataCompliance in jetty.xml
added some debug info
changes to jetty test webapp to display parts from multi-part forms

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-04 11:18:57 +10: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 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
olivier lamy a66fb84492 forcing commons-lang3 version doesn't work as it i shaded so we need a new release of failsafe and same for jacoco
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-02-18 19:01:24 +10:00
olivier lamy 715e18a039 really enforce commons-lang3 3.7
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-02-18 19:01:24 +10:00
olivier lamy 8644641849 really enforce commons-lang3 3.7
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-02-18 19:01:24 +10: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
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
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
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 0f8bf0a64f Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2017-10-17 14:08:36 +11:00
Simone Bordet a6e28b5ce0 Issue #1859 - Jetty http2 client idle_timeout when trying to get the session after connected to Jetty HTTP2 server.
Implemented an integration test case that shows
HTTP2Client usage from within a web application.
2017-09-30 22:49:38 +02:00
WalkerWatch b889d2d300 Fixing JXURL usage and updating proxy webapp as in #1747. Resolves #1844. 2017-09-25 14:54:19 -04:00
Jan Bartel 1bc348a9ad Issue #1831 2017-09-21 09:40:29 +10:00
Joakim Erdfelt d9865a02ba Updating to version 9.4.8-SNAPSHOT 2017-09-14 08:44:27 -07:00
Joakim Erdfelt 80fb788d0c Updating to version 9.4.7.v20170914 2017-09-14 07:35:18 -07:00
WalkerWatch 3ee7f9fe4a Removed usages of JXURL in documentation. Also updated proxy webapp. Resolves #1747. 2017-08-16 17:05:37 -04:00
Simone Bordet aea4b784b5 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-08-16 12:53:35 +02:00
Simone Bordet b7c4e1c7dc Issue #487 - JDK 9 build compatibility.
Made sure that when compiling with JDK 9 we actually use a JDK 8 runtime.

Updated the Maven Compiler Plugin to latest version, with support for
JDK 9 --release command line.

Removed unnecessary Maven Compiler Plugin declarations in POMs.
2017-08-16 12:37:44 +02:00
Joakim Erdfelt 1311052b15 Cleaning up state of branch to match the original jetty-9.4.x
+ Does not include changes to /jetty-cdi/
+ Does not include changes to /jetty-websocket/ for javax.websocket-1.1
2017-08-08 09:47:04 -07:00
olivier lamy 7dcab0e5a2 add test with fragment for #1623
Signed-off-by: olivier lamy <olamy@webtide.com>
2017-08-08 09:13:52 -07:00
Jan Bartel e32136f74c Issue #1639 2017-08-08 09:13:45 -07:00
Jan Bartel 3296c01e8e Issue #1600 2017-08-08 09:13:29 -07:00
Joakim Erdfelt 3fdbcffbbd Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
Joakim Erdfelt a7bcac6d75 Updating to version 9.3.20.v20170531 2017-08-08 09:07:35 -07:00
Joakim Erdfelt 11a544d6ac Updating to version 9.3.22-SNAPSHOT 2017-08-01 11:26:37 -07:00
Joakim Erdfelt bb1d69ca52 Updating to version 9.3.21.M0 2017-08-01 10:47:04 -07:00
Joakim Erdfelt 4d2c299fe8 Updating to version 9.2.23-SNAPSHOT 2017-06-06 08:55:12 -07:00
Joakim Erdfelt 0af30bce5a Updating to version 9.2.22.v20170606 2017-06-06 07:03:05 -07:00
Joakim Erdfelt 6a3c40e935 Updating to version 9.4.7-SNAPSHOT 2017-05-31 17:26:34 -07:00
Joakim Erdfelt 8ba0f2d95d Updating to version 9.4.6.v20170531 2017-05-31 16:22:52 -07:00
Joakim Erdfelt 429380d36a Updating to version 9.3.21-SNAPSHOT 2017-05-31 16:10:04 -07:00