Commit Graph

1778 Commits

Author SHA1 Message Date
Greg Wilkins 4dc004cf96 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-3681-HttpFieldsOptimize
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-22 23:26:48 +02:00
Greg Wilkins 0bf138f034 removed unused lines
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-22 23:10:12 +02:00
Greg Wilkins 065581edd9 cleanups
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-22 23:10:12 +02:00
Greg Wilkins 26169491c9 Issue #3655 simplifications of Cookie handling
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-22 23:10:12 +02:00
Greg Wilkins 70311fe987 Issue #3681
minor cleanups

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-22 14:02:38 +02:00
Greg Wilkins 4ac511ba13 Issue #3681
minor cleanups

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-22 13:00:48 +02:00
Greg Wilkins 2d358cd4b3 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-3681-HttpFieldsOptimize 2019-05-22 08:30:00 +02:00
Michael Hausegger e8f11d3c7e Added small performance improvements
Signed-off-by: Michael Hausegger <hausegger.michael@googlemail.com>
2019-05-22 08:27:53 +02:00
Greg Wilkins f07e59554b Issue #3681
remove HttpFields instrumentation

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-21 15:26:52 +02:00
Greg Wilkins fd183af1cc Issue #3681
instrumented HttpFields

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-21 14:26:01 +02:00
Greg Wilkins 1458854d24 Issue #3681
Use LinkedHashMap<List<Pair>>

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-21 13:59:52 +02:00
Greg Wilkins 2831bfb159 Issue #3681
Better default HttpFields size with TODOs to tune.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-21 12:40:40 +02:00
Michael Hausegger 5760795f96 Corrected license header information
Signed-off-by: Michael Hausegger <hausegger.michael@googlemail.com>
2019-05-17 14:26:58 +02:00
Michael Hausegger d10f678e4c Added tests for DateParser
Signed-off-by: Michael Hausegger <hausegger.michael@googlemail.com>
2019-05-17 14:26:58 +02:00
Michael Hausegger 8b4e6a34ac Added tests for HttpScheme
Signed-off-by: Michael Hausegger <hausegger.michael@googlemail.com>
2019-05-17 14:26:58 +02:00
Michael Hausegger 53c9a8c35a Small minor performance improvements
Signed-off-by: Michael Hausegger <hausegger.michael@googlemail.com>
2019-05-15 20:23:45 +02:00
Michael Hausegger 665b1929e0 Small minor performance improvements
Signed-off-by: Michael Hausegger <hausegger.michael@googlemail.com>
2019-05-15 20:17:33 +02:00
Joakim Erdfelt b44ecc932a Issue #2909 - Replace B64Code with java.util.Base64
+ Deprecated B64Code
+ All code that isn't B64CodeTest is now using java.util.Base64
+ B64CodeTest is updated to confirm change to java.util.Base64
  is possible without change in behavior. Just have to make
  sure you use the appropriate Encoder / Decoder for the task
  at hand (default vs mime vs url)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-05-15 10:08:11 +02:00
Greg Wilkins cec50b3d2c Issue #3630 Optimized ForwardedRequestCustomizer
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-14 17:08:01 +02:00
Greg Wilkins 05072b34dc Issue #3630 Forwarded-Port
Added support for the X-Forwarded-Port header.
Reimplemented header scanning using more efficient Trie and MethodHandles

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-14 17:08:01 +02:00
Joakim Erdfelt 41ab9baf8c Standardizing on hamcrest Matchers (not CoreMatchers from junit4)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-04-30 14:39:57 -05:00
Joakim Erdfelt 5e7426674d Moving to IPv6 Assumption (from junit Group/Tag)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-04-30 14:36:17 -05:00
Joakim Erdfelt e33dfabba9 Moving to IPv6 Assumption (from junit Group/Tag)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-04-30 12:26:14 -05:00
Joakim Erdfelt 2b93a4e7ea Updating jetty-test-helper + junit5 + hamcrest
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-04-30 12:23:55 -05:00
Joakim Erdfelt 734be56938 Updating to version 9.4.19-SNAPSHOT 2019-04-29 16:27:23 -05:00
Joakim Erdfelt e1bc35120a Updating to version 9.4.18.v20190429 2019-04-29 15:40:33 -05:00
Joakim Erdfelt 05bb111580 Updating to version 9.4.18-SNAPSHOT 2019-04-18 15:59:49 -05:00
Joakim Erdfelt aa1c656c31 Updating to version 9.4.17.v20190418 2019-04-18 14:44:28 -05:00
Joakim Erdfelt 5882d63ba7 Updating to version 9.3.28-SNAPSHOT 2019-04-18 13:54:17 -05:00
Joakim Erdfelt d3e249f869 Updating to version 9.3.27.v20190418 2019-04-18 13:10:03 -05:00
Joakim Erdfelt 2c14d93885 Updating to version 9.2.29-SNAPSHOT 2019-04-18 12:17:07 -05:00
Joakim Erdfelt 1dffa36fe3 Updating to version 9.2.28.v20190418 2019-04-18 11:23:17 -05:00
Joakim Erdfelt 79537a5f51 Updating to version 9.4.17-SNAPSHOT 2019-04-11 11:00:24 -05:00
Joakim Erdfelt e0aa4ae4c0 Updating to version 9.4.16.v20190411 2019-04-11 10:01:26 -05:00
olivier lamy 4ad8553fb1 fix format removing extra space
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-04-07 10:06:06 +10:00
Olivier Lamy 8829602201
Exclude ipv6 tests for ci profile (Jenkins) (#3528)
* exclude ipv6 test as currently failing on kubernetes, using junit tag and ci profile activated via Jenkinsfile

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>

* upgrade surefire to 3.0.0-M3

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-04-06 13:27:42 +10:00
Joakim Erdfelt 9b19374c5d Updating to version 9.2.28-SNAPSHOT 2019-04-03 19:38:05 -05:00
Joakim Erdfelt 84dfe74b97 Updating to version 9.2.27.v20190403 2019-04-03 19:04:45 -05:00
Joakim Erdfelt c70034766e Updating to version 9.3.27-SNAPSHOT 2019-04-03 18:46:31 -05:00
Joakim Erdfelt dae476e369 Updating to version 9.3.26.v20190403 2019-04-03 18:16:32 -05:00
Joakim Erdfelt 2ccde9772b Undoing bad release-9.3.26 2019-04-03 18:11:16 -05:00
Greg Wilkins 9f4b3542cb Updating to version 9.3.27-SNAPSHOT 2019-04-03 17:32:08 +11:00
Greg Wilkins 7ec6d2fb32 Updating to version 9.3.26.v20190403 2019-04-03 13:06:51 +11:00
Greg Wilkins fbda9a0799 Issue #3444 Preencoded unknown field
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-03-12 11:26:09 +11:00
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
Joakim Erdfelt 516d93c488 Updating to version 9.2.27-SNAPSHOT 2018-08-06 11:33:22 -05:00
Joakim Erdfelt 8c637489ae Updating to version 9.2.26.v20180806 2018-08-06 10:51:25 -05: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 0e6c91b604 Updating to version 9.2.26-SNAPSHOT 2018-06-06 18:54:58 -05:00
Joakim Erdfelt 4830fd15e9 Updating to version 9.2.25.v20180606 2018-06-06 16:42:54 -05: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
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
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
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 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 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 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
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