Commit Graph

1630 Commits

Author SHA1 Message Date
Joakim Erdfelt 133a4a10c0 Issue #3444 - Adding testcase for HttpFields.add(PreEncoded|HttpField)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-03-08 14:42:32 -06:00
Greg Wilkins 69f6b3b616 Issue #3404
updates after review:
 + use ToIntFunction
 + reformat

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-05 08:59:55 +11:00
Greg Wilkins 73e68ac7b5 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-3404-QCSV-Doubles 2019-03-05 08:52:36 +11:00
Greg Wilkins b925380ede Issue #3404 Updated QCSV Double usage
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-01 10:20:10 +11:00
Greg Wilkins ca8a10a9d5 Issue #3404 Cleanup QCSV mime ordering
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-01 10:17:02 +11:00
Simone Bordet 057575f1cb Issue #3373 - OutOfMemoryError: Java heap space in GZIPContentDecoder.
Modified jetty-client content decoding to be fully non-blocking;
this allows for a better backpressure and less usage of the buffer
pool.

Modified GZIPContentDecoder to aggregate decoded ByteBuffers in
a smarter way that avoids too many data copies and pollution of
the buffer pool with intermediate size buffers.

Removed duplicate test GZIPContentDecoderTest.

Improved javadocs and improved AsyncMiddleManServlet
to release buffers used by the GZIPContentDecoder.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-02-28 16:11:26 +01:00
Greg Wilkins 8011c48685 Issue #3404 Updated QCSV Double usage
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-02-28 18:37:02 +11:00
Joakim Erdfelt 9cdb59d4d7 Updating to version 9.4.16-SNAPSHOT 2019-02-15 13:35:15 -05:00
Joakim Erdfelt eb70b24016 Updating to version 9.4.15.v20190215 2019-02-15 11:53:00 -05:00
Olivier Lamy 9b7afd8a03
Happy new year!! (#3232)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-01-01 11:52:16 +10:00
Greg Wilkins 041e8fd9cf Issue #3038 SSL Connection Leak
Don't call  handleContentMessage after content call if the content call
returns true.

This is a slight bending of the parser contract to work around the current
client interpretation that a true return will prevent other events from being
delivered.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-21 17:28:40 +01:00
Greg Wilkins 8c4ee8496f
Jetty 9.4.x 3038 ssl connection leak (#3121)
Issue #3038 - SSL connection leak.

Fixed SSL spin caused when fill had NEED_WRAP, but a flush/wrap
produced 0 bytes and stayed in NEED_WRAP

Removed check of isInputShutdown prior to filling that allowed EOF to
overtake data already read.

Fix for leak by shutting down output in HttpConnection if
filled -1 and the HttpChannelState was no longer processing
current request.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-20 13:53:42 +01:00
Joakim Erdfelt 29fd18e046 Updating to version 9.4.15-SNAPSHOT 2018-11-14 16:42:40 -06:00
Joakim Erdfelt c4550056e7 Updating to version 9.4.14.v20181114 2018-11-14 15:19:10 -06:00
Joakim Erdfelt a903017f5f Updating to version 9.4.14-SNAPSHOT 2018-11-11 21:06:50 -06:00
Joakim Erdfelt 49123a3313 Updating to version 9.4.13.v20181111 2018-11-11 20:02:42 -06:00
Greg Wilkins 15e1c73f9c
Cleanup the dump implementation (#2998)
* Cleanup the dump implementation
* improved the clarity of utility methods for dump and updated most dump methods
* fixed upgrade filter dump
* Improved dump after review
* Moved dumpObjects to Dumpable
* implemented dumpBeans with dumpObjects
* less verbose dump
* Dump streams
* fixed dump test

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-22 11:53:59 +11:00
Greg Wilkins 319766a70c Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2018-10-05 18:56:49 +10:00
Greg Wilkins 9f7f0bdc5f Pass BadMessageException from parser to HttpReceiverOVerHTTP
This change has already mostly been made in 9.4, so essentially this is a back port.  However the
primary signature of HttpParser.Handler for badMessage has not been changed and a default method
used to handle the cause. This avoids breaking any usages of the interface.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-10-04 13:30:11 +10:00
Joakim Erdfelt a3f1592c50 Issue #2431 - Upgrade to Junit 5 (#2436)
+ Changes needed for new Junit 5
+ Migrating from Vintage junit API to Jupiter junit API
+ Relies on SNAPSHOT jetty-test-helper
  - this will be a formal release once this issue has been
    resolved satisfactory
+ Have jenkins always pull latest SNAPSHOT for each build
+ Adding jetty.snapshots repository
+ Using surefire 2.22.0 per advice from junit
+ Ensuring <reuseForks>true</reuseForks> to work around issue junit-team/junit5#801
+ Disabling <forkMode>always</forkMode> in maven-surefire-plugin
  due to bug https://github.com/junit-team/junit5/issues/801
+ OSGi tests must remain at vintage due to PaxExam
+ Moving from vintage TestingDir to jupiter WorkDir
+ Fixing imports to use jupiter, not vintage
+ Migrating vintage ExpectedException to jupiter assertThrows
+ Migrating vintage TestName to jupiter TestInfo
+ Migrating @RunWith(Parameterized.class)
  to @ParameterizedTest with Argument Sources
+ Migrating assertTrue(val.contains(needle))
  to assertThat(val, containsString(needle))
+ Aligning junit versions per recommendations from @sormuras
+ Adjusting parameter order change for assertEquals()
+ Test LifeCycle Annotation Migration

junit 4      | junit 5 / jupiter
------------ | -----------
@Before      | @BeforeEach
@After       | @AfterEach
@BeforeClass | @BeforeAll
@AfterClass  | @AfterAll

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-09-05 10:07:17 +10:00
Jesse McConnell 863a19bccf
Updating to version 9.3.26-SNAPSHOT 2018-09-04 17:23:31 -05:00
Jesse McConnell 3ce520221d
Updating to version 9.3.25.v20180904 2018-09-04 16:08:21 -05:00
Jesse McConnell dcf6a8fa9f
Updating to version 9.4.13-SNAPSHOT 2018-08-30 10:48:22 -05:00
Jesse McConnell 2720868475
Updating to version 9.4.12.v20180830 2018-08-30 08:56:44 -05:00
Greg Wilkins 460f3fcb9b
Close on graceful #2749 (#2772)
Cleanup of Graceful shutdown, plus ensure Connection:close if connector is shutdown for #2749 
* WIP close connection when shutting down
* WIP use HttpChannel.Listener
* cleanups
* support graceful stop of a context
* only close connections if the connector is shutdown
* minor cleanups
* fixed toString and test
* fixed imports
* Move close logic to HttpConnection
* fixed generator to not override persistent
* Issue #2749 - Close connections on graceful shutdown.
* Small fix after review.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-23 08:08:17 +10:00
Kazuhiro Sera 96218e8bc4 Fix typos detected by github.com/client9/misspell
Signed-off-by: Kazuhiro Sera <seratch@gmail.com>
2018-08-10 23:52:16 +09:00
Olivier Lamy f4a0bfbdd8
Issue #2746 jmh module (#2750)
#2746 move jmh classes to a dedicated jmh module

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-08-04 14:08:13 +10:00
Olivier Lamy 0ba1d9b5a5
Issue #307 datecache contention (#2725)
* use DateTimeFormatter which is threadsafe so no need of synchronized block  #307

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-07-26 20:46:50 +10:00
Greg Wilkins a890dbfc01 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-2695-hpack-compliance 2018-07-17 17:49:19 +02:00
Greg Wilkins 3d5b769706
Merge pull request #2700 from lachlan-roberts/jetty-9.4.x-2685-QuotedQualityCSV
Issue #2685 - bad content in QuotedQualityCSV results in empty entries
2018-07-17 17:42:12 +02:00
Greg Wilkins 0ad4b4483b WIP
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-07-15 19:22:31 +02:00
Joakim Erdfelt 0b69f00665 Updating to version 9.4.12-SNAPSHOT 2018-07-11 17:32:16 -05:00
Joakim Erdfelt 260596dd10 Updating to version 9.4.12.RC0 2018-07-11 16:30:55 -05:00
Greg Wilkins 842e3c850a
Merge pull request #2707 from lachlan-roberts/jetty-9.4.x-HttpParser-headerCacheSize
Changing default Http headerCacheSize from 512 to 4096
2018-07-11 08:46:54 +01:00
lachan-roberts e05c11ae30 Changing default Http headerCacheSize from 512 to 4096
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2018-07-10 10:39:45 +10:00
lachan-roberts 1a4d304a0b Removed unnecessary CACHE.put calls in HttpParser
Signed-off-by: lachan-roberts <lachlan@webtide.com>
2018-07-09 11:33:05 +10:00
lachan-roberts 8fd5e8563e Issue #2685 - bad content in QuotedQualityCSV results in empty entries
changes from review

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2018-07-09 10:52:49 +10:00
Lachlan Roberts bb1b36b4c6 Issue #2685 - bad content in QuotedQualityCSV results in empty entries
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-07-06 14:41:15 +10:00
Joakim Erdfelt 0a7ad593e4 Issue #2684 - assumed MimeTypes can now be accessed/changed.
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-06-27 09:52:01 -05:00
Greg Wilkins 346879f2a5
Merge pull request #2664 from mperktold/jetty-9.4.x
Issue #2662 Unnecessary boxing conversions
2018-06-13 22:52:27 +02:00
Matthias Perktold f901efc413 Issue #2662 - Unnecessary boxing conversions
Signed-off-by: Matthias Perktold <tias251@gmail.com>
2018-06-13 16:20:12 +02: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
Joakim Erdfelt 5eefa90e05 Updating to version 9.3.25-SNAPSHOT 2018-06-05 13:13:07 -05:00
Joakim Erdfelt 84205aa28f Updating to version 9.3.24.v20180605 2018-06-05 12:11:03 -05:00
Joakim Erdfelt f0ff571c98 Reverting version to 9.3.24-SNAPSHOT 2018-06-05 12:06:58 -05:00
Joakim Erdfelt 13640c297c Bumping version to 9.3.25-SNAPSHOT 2018-06-05 11:58:37 -05:00
Joakim Erdfelt d35a332b48 Issue #2572 - Whitespace parsing test (#2573)
* Issue #2572 - Whitespace parsing test

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

* fixed test

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-30 15:52:58 +02:00
Lachlan Roberts 4785662efa Fixes #2484 - Removed repeated null check
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-05-29 17:52:57 +10:00
Greg Wilkins 715a637c2b
Issue #2532 Better handling of tokens in parser (#2533)
Issue #2532 Better handling of tokens in parser

Handle TCHAR and VCHAR from abnf separately

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-17 09:50:49 +10:00
Greg Wilkins aa97518d0b Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2018-05-17 08:27:45 +10:00
Greg Wilkins be8ff431a4 Merge remote-tracking branch 'origin/jetty-9.2.x' into jetty-9.3.x
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-17 08:16:39 +10:00
Greg Wilkins a285deea42 Issue #2529 RFC2616 vs RFC7230 cleanup
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-17 08:00:53 +10:00
Greg Wilkins c865aa1be7
Merge pull request #2476 from lachlan-roberts/jetty-9.4.x-1027-MultiPart-Cleanup
MultiPart Cleanup
2018-05-04 21:10:50 +10: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
Lachlan Roberts a1ef905908 Code Cleanup and Reformat
Cleaned up Reformatted all new MultiPart code.
Removed redundant javadocs.
Removed re-definitions of variables and unnecessary string constructors.
Lazily create MultiException in MultiPartFormInputStream.deleteParts()

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-05-03 21:18:08 +10:00
Konstantin Lutovich 25888f0d83 Fix NPE in PreEncodedHttpField constructor (#2488)
Which might happen when given `HttpHeader` is null. It might be null
when most generic constructor `#PreEncodedHttpField(HttpHeader, String, String)`
is invoked with a null argument or when `#PreEncodedHttpField(String, String)`
constructor is used. Later is valuable for custom headers. NPE happens
because of an attempt to call `HttpHeader#asString()` on a null argument.

This commit fixes the problem by making encoders use specified header
name, instead of trying to retrieve it from the `HttpHeader` object.

Signed-off-by: lutovich <konstantin.lutovich@neo4j.com>
2018-04-26 08:35:24 +10:00
Jan Bartel 0e88849a68
Issue #2164 Make osgi.serviceloader mostly optional (#2408)
Signed-off-by: Jan Bartel <janb@webtide.com>
2018-04-18 14:48:53 +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
Lachlan Roberts 379a8d6928 Merge remote-tracking branch 'eclipse/jetty-9.4.x-1027-Multipart' into jetty-9.4.x-1027-Multipart 2018-04-04 09:48:01 +10:00
Lachlan Roberts 1c35324f5b Fixed some javadoc errors and warnings
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-04 09:46:50 +10:00
Greg Wilkins 6528b79fbd Merge branch 'jetty-9.4.x-1027-Multipart' of github.com:eclipse/jetty.project into jetty-9.4.x-1027-Multipart 2018-04-04 08:08:59 +10:00
Joakim Erdfelt 3b32e1c984 Issue #1027 - MultiPartCaptureTest cleanup
+ Regenerated many of the captures
  - Better SJIS Encoding Test Samples
+ Added more
  - file consisting of only random whitespace
  - file with 1 very long line
  - Jetty Http Client captures

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-04-03 14:55:38 -05:00
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 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