4222 Commits

Author SHA1 Message Date
Joakim Erdfelt
602c44ec96 Issue #3888 - Adding comment from PR review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 20:02:18 -05:00
Joakim Erdfelt
7a867c0ff0 Issue #3840 - Applying ByteBuffer niggle from PR review
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 19:59:49 -05:00
Joakim Erdfelt
ed8d9cabff Issue #3840 - Simplifying ResourceService
+ Removing unnecessary variables (per PR review)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 17:12:38 -05:00
Joakim Erdfelt
b2ec6dd1af Issue #3840 - Fixing for InputStream.skip() behaviors
+ Reset progress on any positive skip value
+ Throw IOException(EOF) for any negative skip value

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 17:11:27 -05:00
Joakim Erdfelt
5129f2c9ff Issue #3840 - InputStream.skip() rules must be followed
+ break out if progress isn't made, loop if not enough
  progress is made

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-30 13:00:03 -05:00
Gili Tzabari
33bd4e6bc0 Updated PR in response to comments.
Signed-off-by: Gili Tzabari <cowwoc2020@gmail.com>
2019-07-30 12:50:45 -04:00
Gili Tzabari
d3cbd36fe0 Added Javadoc.
Signed-off-by: Gili Tzabari <cowwoc2020@gmail.com>
2019-07-30 11:46:30 -04:00
mpe85
bb639817a3 Made loading of blobs from database more robust (#3895)
Signed-off-by: mpe85 <marco.perazzo85@gmail.com>
2019-07-29 14:33:40 +10:00
Joakim Erdfelt
e5bce5f7cd Issue #3840 - Static resource byte-range support performance
+ Reverting toFile().getInputStream() on PathResource
+ Adding RangeWriter concept for managing open resource
  across multiple range writes
+ RangeWriter implementation delegates to HttpContent behaviors
  Lookup is :
  - Direct Buffer
  - Indirect Buffer
  - ReadableByteChannel (as SeekableByteChannel)
  - InputStream
+ Adding unit tests for all RangeWriter implementation to ensure
  that they behave the same way everywhere.
+ Making ResourceService use new RangeWriter implementation
+ Existing DefaultServletRangeTest still works as-is

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-26 12:36:31 -05:00
Joakim Erdfelt
9e90c60f0e Issue #3888 - Fixing implementation of CachedContentFactory
+ ResourceCacheTest identified a bug in CachedContentFactory
  (a bad/reversed if statement)
+ Updated ResourceCacheTest to not rely on jetty-util src/test/resources

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-24 11:26:49 -05:00
Joakim Erdfelt
6fd8aeefde Issue #3888 - Adding HttpClient tests
+ Also applying changes from review

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-23 15:24:33 -05:00
Simone Bordet
2629961e74 Fixes #3856 - Different behaviour with maxFormContentSize=0 if Content-Length header is present/missing.
Changes after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-07-23 22:01:13 +02:00
Simone Bordet
d939c9435a Fixes #3856 - Different behaviour with maxFormContentSize=0 if Content-Length header is present/missing.
Fixed zero checks and exception messages.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2019-07-23 15:44:08 +02:00
Joakim Erdfelt
446c3d7202 Issue #3888 - Fixing ServletRequest.getContentLength() behavior
+ For Content-Length values exceeding Integer.MAX_VALUE the return
  must be -1.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-19 10:35:35 -05:00
Joakim Erdfelt
8afc4464d5 Issue #3503 - Adding testcases for huge Content-Length behaviors
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-19 10:27:38 -05:00
Joakim Erdfelt
f856ad41da Issue #3888 - For Resources exceeding maxCachedFileSize do not allocate
+ Only used Mapped ByteBuffers, ReadableByteChannel, or InputStream

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-19 10:25:04 -05:00
Joakim Erdfelt
36294ef0da Issue #3888 - Fixing for truncated long to int
+ Allowing CachedHttpContent._contentLengthValue actually hold
  the `long` resource size (for the 4G variant on test)
+ Allowing BufferUtil to not throw Exception if resource length
  is a positive value, but exceeds Integer.MAX_VALUE, opting instead
  to return a null to prevent excessive memory usage. (fixes the 10G
  variant of test)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-07-18 12:13:35 -05:00
Greg Wilkins
d71a2d8f7d
Issue #3806 async sendError (minimal fix) (#3875)
* Issue #3806 async sendError

This is a minimal fix for the async race of sendError using isHandled
at the same time as the normal dispatch is exiting.

Signed-off-by: Greg Wilkins <gregw@webtide.com>

* Issue #3806 async sendError

Fixed isStreaming method in minimal fix (showing the need for actual
test harnesses).

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-07-17 23:25:30 +02:00
Lachlan Roberts
50c18798ba Merge remote-tracking branch 'eclipse/jetty-9.4.x' into jetty-9.4.x-300-CompressionPool
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-07-04 10:19:54 +10:00
Jan Bartel
bb7fb48f08
Fix checkstyle warnings for tests. (#3846)
Signed-off-by: Jan Bartel <janb@webtide.com>
2019-07-03 16:42:20 +02:00
Jan Bartel
e26179e8e9
Issue #3799 Programmatic listeners from ServletContextListeners. (#3824)
* Issue #3799 Programmatic listeners from ServletContextListeners.

Ensure programmatic listeners added from ServletContextListeners are
called.

Signed-off-by: Jan Bartel <janb@webtide.com>

* Issue #3799 add distribution test

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-07-01 15:14:19 +02:00
Greg Wilkins
c94230da40 Issue #3832 Test for proxy protocol v2
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-06-29 10:04:01 +02:00
Lachlan Roberts
2cf0c8aeb8 Merge remote-tracking branch 'jetty-9.4.x' into jetty-9.4.x-300-CompressionPool
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-25 10:21:43 +10:00
Greg Wilkins
9706d70484
Jetty 9.4.x reformat (#3811)
* Removing Legacy Method Separators
* Restyling branch `jetty-9.4.x`
* Applying changes highlighted by checkstyle
* Applying XML restyling
* Fixing XML codestyle for IntelliJ
* Fixing XML style mistakes
* Revert "Applying XML restyling"
* Updating checkstyle for XML codestyle
* Reformatting pom.xml files
* Fixed empty string from line wraps
* Update intellij style to not do expression relative formatting. Reformatted code based on that.
* Increasing line split on Eclipse IDE Formatter to 512
* Restoring setting on internal default value.
+ IntelliJ will not export settings on things that set to their
  internal default values.
  We want to keep those values as a hedge against future default
  value changes in future releases of IntelliJ.
* Fixing intellij codestyle
* do not allow single line simple methods
* misc checkstyle fixes
* re-exported with correct name and all values

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-06-24 17:40:30 +02:00
Greg Wilkins
862e6d008e
Jetty 9.4.x 3755 annotation/jndi example cleanup (#3763)
* Issue #3755 Annotation example cleanup

+ Created JettyDistribution class as common utility to locate a jetty distribution for examples.
+ Fixed ServerWithAnnotations to correctly use the test-spec-webapp
+ Added AttributeContainerMap as a better way to treat attribute values as beans. This avoids them appearing twice in a dump and always associates them with their key.
+ Added NamingDump and use it in EnvConfiguration and jetty-plus.xml so that a server dump will contain dumps of the server local tree and each contexts java:comp/env tree
+ Improved the dump format of NamingContext and WebAppContext
+ Improved the toString format of several associated classes

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-06-18 09:50:18 +02:00
Greg Wilkins
e7e63a5617 Issue #3782 X-Forwarded-Port can be remote or local
Improved names and javadoc after review.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-06-17 16:58:20 +02:00
Greg Wilkins
9cf8cf3c0d Issue #3782 X-Forwarded-Port can be remote or local
Added option for X-Forwarded-Port to be remote or local with default
being local.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-06-17 16:58:20 +02:00
Joakim Erdfelt
345750f9fd Issue #3782 - X-Forwarded-Port refers to node listening port
+ Updating testcases to test requestURL as well.
+ Adding new testcases for X-Forwarded-Port modifying only
  the port of an existing `Host:` header.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-17 16:58:20 +02:00
Joakim Erdfelt
a1fe57a654 Issue #3782 - updating existing testcases
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-17 16:58:20 +02:00
Joakim Erdfelt
2f3eed8604 Issue #3782 - reducing noise during testing
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-17 16:58:20 +02:00
Joakim Erdfelt
f05d6cf9ad Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-300-CompressionPool 2019-06-14 08:38:08 -05:00
Joakim Erdfelt
40e9e053b9
Merge pull request #3768 from eclipse/jetty-9.4.x-3708-stringutil-replace
Issue #3708 - use StringUtil alternatives for known slow JVM impls.
2019-06-13 14:01:35 -05:00
Joakim Erdfelt
877815e195 Issue #3708 - Adding new methods and converting codebase to use them
+ StringUtil.replace(String, char, char)
+ StringUtil.strip(String, String)
+ URIUtil.encodeSpecific(String, String)
+ URIUtil.decodeSpecific(String, String)
+ TypeUtil.toClassReference(Class)
+ TypeUtil.toClassReference(String)

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-12 09:56:41 -05:00
Lachlan Roberts
e8115268d4 Issue #300 - rework of inflater and deflater pools
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-12 14:21:40 +10:00
Joakim Erdfelt
33fe55c339 Issue #3708 - use StringUtil alternatives for known slow JVM impls.
+ StringUtil.replace()
+ StringUtil.replaceFirst()
+ StringUtil.sanitizeFileSystemPath()

Change existing usages of String.replace() to either
use new StringUtil.replace() or other methods elsewhere
that better suit that specific need.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-06-11 11:25:50 -05:00
Joakim Erdfelt
ae21126cad Updating to version 9.4.20-SNAPSHOT 2019-06-10 13:40:17 -05:00
Joakim Erdfelt
afcf563148 Updating to version 9.4.19.v20190610 2019-06-10 11:17:56 -05:00
Lachlan Roberts
e75ca325fd Issue #3683 - close part if failure occurs in MultiPartFormInputStream
parameterize MultiPartServletTest over compliance modes

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-04 12:03:24 +10:00
Lachlan Roberts
17b8eb8401 Issue #3683 - ensure multipart files are still cleaned up after errors
- do not parse MultiParts in constructor so the attribute can be set
- deleteParts in MultiPartFormInputStream from _parts MultiMap
- only add the MultiPartCleanerListener once per context

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2019-06-04 11:19:42 +10:00
Simone Bordet
5ebd6d4ad2
Merge pull request #3682 from eclipse/jetty-9.4.x-3681-HttpFieldsOptimize
Jetty 9.4.x 3681 http fields optimize
2019-06-03 16:51:58 +02:00
Jan Bartel
dec10044e0
Jetty 9.4.x 3722 session destroy listeners (#3723)
* Issue #3722 Use webapp classloader for HttpSessionListener.sessionDestroyed calls
2019-06-03 10:27:38 +02:00
Greg Wilkins
cf9c238721 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-9.4.x-3681-HttpFieldsOptimize 2019-05-26 16:18:13 +02:00
Greg Wilkins
53dc425bde Issue #3681
updates from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-23 12:33:35 +02:00
Olivier Lamy
f2c59a3cb7
add convenient StringUtil isEmpty method (#3687)
* add StringUtil.isEmpty

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2019-05-23 09:01:36 +10:00
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
26169491c9 Issue #3655 simplifications of Cookie handling
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-22 23:10:12 +02:00
Joakim Erdfelt
2de5456790 Issue #3655 - Fixing javadoc
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-05-22 23:10:12 +02:00
Joakim Erdfelt
5d267963a3 Issue #3655 - Cookie generation now complies with RFC6265 spaces
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2019-05-22 23:10:12 +02:00
Greg Wilkins
2ba0c7bb79 Issue #3681
cacheContent type and avoid unnecessary character encoding calculations

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2019-05-22 14:12:52 +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