Commit Graph

1857 Commits

Author SHA1 Message Date
Greg Wilkins 8c7c5a5d01 Issue #3167 Improve websocket initialization
Improve on #3167 with major refactor of the context initialization of
websocket:
  + The Javax and Jetty sides are more symmetric - both use shared
    filter and mapping.
  + Regularised usage of beans rather than attributes for ws components
  + Customization is now part of the mapping, so ws are configured by
    how they were mapped and not by who does the upgrade.
  + Filter still can be configured to customize defaults
  + Servlet can be configured to customize any ws mappings added via the
    servlet

There is still some strangeness as the WebSocketServlet is mostly
generic, yet can only map Jetty API websockets.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-12-22 10:30:37 +11:00
olivier lamy bd4933b33c Merge branch 'jetty-9.4.x' into jetty-10.0.x 2018-12-21 21:48:36 +10:00
Jan Bartel 4abc4f8dd4 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-12-19 10:54:41 +11:00
Greg Wilkins 503bd71d4c Issue #3202
Handle async cross context session completion
2018-12-18 16:00:46 +11:00
Greg Wilkins 06bbab50f9 Issue #3202
Handle async cross context session completion
2018-12-18 14:07:16 +11:00
Jan Bartel 34b6ecec6c Issue #3202 Ensure sessions created during async are cleaned up.
Signed-off-by: Jan Bartel <janb@webtide.com>
2018-12-18 09:32:12 +11:00
Greg Wilkins 1176b267b5 removed -impl from websocket name and fixed SCI
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-12-13 10:05:10 +11:00
Greg Wilkins e8d468b3e1 work in progress
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-12-05 14:45:23 +01:00
Greg Wilkins 81ca90b1f6 Issue #113
Deletes the deprecated NcsaRequestLog classes
Updates modules to use CustomRequestLog by default
Move jetty-customrequestlog.xml from home to base

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-12-01 16:31:23 +01:00
Simone Bordet bfa2dbf68c Issue #3162 - Use Jetty specific Servlet API jar.
* Updated module-info.java to reference the "jetty.servlet.api" module.
* Updated POMs to reference the o.e.j.toolchain:jetty-servlet-api artifact.
* Removed references to jetty-schemas.jar.
* Updated attribute "org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern"
  to match the new Jetty Servlet API jar.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-29 16:51:29 +01:00
Greg Wilkins bbc7037171 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-11-29 11:06:49 +01:00
Greg Wilkins e7d4f55891 Issue #113
Use CustomRequestLog in examples.
Convenience constructors

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-29 10:13:12 +01:00
Greg Wilkins 720e561008 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-11-29 09:32:50 +01:00
Jan Bartel 506e4dc682 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-11-23 16:45:32 +01:00
Jan Bartel 4e672c6b27
Issue #2646 - Better handle concurrent calls to change session id and invalidate within a context (#2670)
* Issue #2646 handle concurrent invalidate/changeid calls

Signed-off-by: Jan Bartel <janb@webtide.com>
2018-11-23 16:15:27 +01:00
Greg Wilkins f820a57d7e Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-11-22 17:57:47 +01:00
Simone Bordet 5f972b451c
Jetty 10.0.x 2978 add module info (#3120)
Fixes #2978 - Add module-info to relevant Jetty modules.

Added module-info.java for Jetty modules that are not test modules.
Moved jetty-http test utility classes to new module "jetty-http-tools".
Removed generation of test-jar from websocket-core.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-22 12:37:35 +01:00
olivier lamy 33eccf82dc remove non used test-dispatch-webapp
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-11-21 15:56:39 +10:00
olivier lamy 7d5ed3089c jmh test has been moved in 10.0.x
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-11-21 14:39:08 +10: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
Simone Bordet aaa9a1e410 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2018-11-13 18:12:16 +01:00
Simone Bordet f2ed692a1b
Merge pull request #3099 from eclipse/jetty-9.4.x-HttpClient-dump-improvements
Fixes Issue #3103 - HttpClient buffer leak found by dump improvements

The leak problem was an additional, unnecessary, call retain() in ResponseNotifier.notifyContent() that was leaking `ByteBuffer`s.
2018-11-13 18:04:17 +01:00
Jan Bartel 1845e6ea48
Issue #39078 Duplicated programmatic listeners. (#3101)
Signed-off-by: Jan Bartel <janb@webtide.com>
2018-11-13 14:29:12 +01:00
Greg Wilkins d0afc63cd5 Fixing HttpClient tests to configure before start 2018-11-13 14:22:19 +01: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
Jan Bartel 5f94f249a7 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-11-06 10:29:10 +01:00
Jan Bartel 871f73cdf6
Jetty 9.4.x 2932 switchable classloader for session attribute values (#2964) 2018-11-06 10:03:48 +01:00
Greg Wilkins 9003a0fd69
Jetty 10.0.x websocket refactor (#3055)
* Adding more todos
* More websocket test updates
* Adding more information to exception about mismatched hash
* AcceptHash improved testing
* Prevent duplicate request headers
* Removing ability to use LocalFuzzer entirely (until its fixed)
* JSR356 HandshakeResponse header modifications are now allowed during Configurator
* Correcting MessageSink creation
* Using proper sub-protocol
* Metadata remembers OnMessage.maxMessageSize now
* Minor test updates
* Issue #2172 - Fixing JSR-356 Decoder discovery and OnMessage wiring
* More websocket test updates
* Update for null/empty payload
* Partial String Message Sink fix
* More websocket fixes around InputStream handling
* Moving proposed Abstract FrameHandler hierarchy into core main
* More testing fixes, along with a change to use the new core Abstract*FrameHandler
* Adding WebSocket URI validation
* Updating copy found in other API with improvements made in first API.
* More websocket test updates
* Fixing compilation
* WebSocket test fixes
* Fixing ContinuationTest assertions
* fixed package
* Added some better examples of QuotedCSV
I think this test is trying to use QuotedCSV in the wrong way, as it often is offering values when it should be testing parameters.
I have added some examples to show that QuotedCSV is capable of handling the quotes, spaces and embedded commas of the tests, but only
for parameters and not for values.   The question is, is this sufficient for websocket?
* Improve close handling
The handling of a Close Frame may close the endpoint, so parsing should not continue
* moved old AbstractFrameHandler to test
* implement ingoing and outgoing frame sequence checking
* More work on javax.websocket parameterized server
* Bumping up pom plugin versions to jetty-9.4.x standards
* Merging up Jenkinsfile to attempt to fix CI build issues
* JSR356 @PathParam testing
* More WebSocket testing updates
* More WebSocket testing updates
* WebSocket Idle Timeout from FrameHandler specific policy
* WebSocket/JSR Pong support
* WebSocket/JSR Correcting MessageHandler.Whole<PongMessage> handling
* URL Decode UriTemplatePathSpec values
* Fixing test expectations
* Fixing AbstractWholeMessageHandler buffer flip
* More websocket test fixes
* Updated ALPN version for JDK 8u181.
* Removing QuotedUtil from WebSocket-core
+ Moved to QuotedCSV for most usages
+ Introduced HeaderUtil to satisfy remaining use cases
* Review of HttpClient names and Thread names.
+ Javax WebSocket Server = "Javax-WebSocketServer@####"
+ Javax WebSocket Client = "Javax-WebSocketClient@####"
* added OpCodeTest.java
* Minor Frame cleanup
* MessageOS cleanup
* Made the OpCode of WebSocket Frame immutable.
Frames can no longer be set as a continuation and should now be copied using the ContinuationFrame constructor
DataFrames can no longer be created without one of the subclasses as the public constructor was removed in favour of newDataFrame method
* Chat test
* Work on Chat Test
Moved implementation of assertValid to WebSocketFrame
Removed getFinRsvOp
* removed constructors for DataFrame using a basedOn Frame
instead use constructors with opCode, payload and fin bit
* refactor of WebSocket Frames WIP
* WIP: resolved failing tests
* CloseStatus rework, now use CloseStatus.toFrame to create Close Frames
new DelegateFrame class which ReadOnlyFrame extends
trim utf8 byte array in CloseStatus to utf8 character boundaries only
* working on test to test socket io erros in websocket-core
* renaming for clarity
Gave up on maintaining old names, as this is a different package anyway so some adaption will be needed regardless.
* Moved AbstractFrameHandlers to common
Only have a AbstractTestFrameHandler in core
* Close uses CloseStatus
Reduced the parsing and generation of CloseStatus when closing
* merge
* work on WebSocketTest
* cleanup log
* wip
* files missing comment header
jetty-jmh was using 9.4.12-SNAPSHOT now using 10.0.0-SNAPSHOT
* thread names
* remove sequence check from parser
* minor cleanups
* Call frameHandler externally to parser
* OpCode.check now throws ProtocolException instead of returning boolean
changed ProtocolException messages in OpCode.check
* removed Frame.Type and use OpCode instead
separated out FrameValidation for parser into method in WebSocketChannel
* moved remaining frame validation checks into WebSocketChannel
* referenced counted buffer
* cleanups
* wip on demand side
* First attempt at demandable
* demand control
* clean up reference counting
* clean ups
* WebSocketServerTest
* wip
* fixed auto fragmentation
* simple demand test
* test demand and retain
* Added validation back into the Parser
split up validation in WSChannel into methods for incoming and outgoing
fixed various tests in websocket-core
* more tests
* fixed remaining tests failing due to the changes to frame validation
* cleanups
* more autobahn refixes
* adjust mask for auto fragments
* clear mask
* fully close on unrecoverable error and not wait for close response
* Removed the CoreFuzzer and ContinuationTest
These tests are now covered elsewhere.
* remove declared exception onClosed
* Test delay close
* Test handler close
* fixed test dependency
* moved the frame sequence check from OutgoingState from after the ExtensionStack to channel.sendFrame
changed error handling to fail the callback of invalid/outOfSequence frames
added WebSocket Close tests revealing some problems with demand in state ICLOSE
* cleanup
* timing issues with WebSocketCloseTest
* test cleanups
* Cancel demand on close
* removed frame validation from generator
* finished close testing
* Issue #2901 - Moving Http Upgrader to Http Conversation
+ Solves for Authentication and Redirect
* changes from #2902 to jetty-10.0.x
* Validation Extension
introduced a ValidationExtension to do frame validation in the ExtensionStack
added the WebSocketChannel to ExtensionStack.connect to set it on the Extensions
* added parameters for ValidationExtension to choose what to validate
* ValidationExtension Cleanup
ValidationExtension now uses the Validation methods from its WebSocketChannel
simplified the parameter passing to the ValidationExtension
* core cleanup
* Fixed intermittent test failures
* clean up duplicates and imports
* simplified package structure
* many cleanups, simplifications and duplication removal
* cleanup
* added utf8 validation for text frames into ValidationExtension
added tests for utf8 validation
* create ValidationExtensionTest
* cleanup
* merge with jetty-10
update websocket to junit5
* fix to autobahn client report directory
* Fixes and cleanup
Fixed initial buffer too large for websocket buffer
less verbose debug
better debug
* Removed behavior from policy
* cleanup after merge from hell
* bug fixes and cleanups
* refactor packages with JPMS in mind
* unit test for TextMessageHandler
* cleanups
* more cleanups
* provided client/server dependencies
* fixed bad refactor
* use lambdas for TextMessageHandler
* cleanup
* cleanup
* cleanups
* cleanup of websocket-common framehandlers
* reverting to jetty websocket api from 9.4
* better chat
* renamed websocket common to util
* save wip on jetty-websocket-tests
* giving up on jetty-websocket-tests as mostly duplicated tests
* renamed websocket-util back to websocket-common
* moved InvalidWebSocketException to javax common
* reworked TextMessageHandler to MessageHandler
now handles binary messages as well
* implemented getByteBufferPool in remaining DummyChannel classes
* Moved the abstract Frame and Message handlers out of websocket-common
* replaced usages of AbstractWholeMessageHandler with CoreMessageHandler
renamed MessageHandler to CoreMessageHandler
* removed AbstractFrameTypeHandler
* cleanup
* jetty-websocket-common passing tests without websocket-common dependency
* fixed compile errors
* renamed MessageHandler
* Removing reference to websocket-server (no longer exists)
* Removing, Extensions now exist in websocket-core
* Do not append an empty ByteBuffer
* NPE Fix for empty/unused UTF-8 String Builder
* NPE Fix for SendPartialBinaryFrameHandler test
* Punching holes in WebAppContext needed for JSR356 use
* Updating "9.x.x" to "10.x.x"
* Removing Bad URI test case that is ignored
* Fixing test expectation now that we moved to QuotedCSV
* Adding TODO about onOpen failure requiring onError + onClose.
* Throwing JSR356 DeploymentException on addEndpoint() failure
* Test cleanup (for better error messages)
* Adding some comments to explain wrapNonVoidReturnType()
* cleanup methodHandle return type filtering
* test fixes
* Fix change return type to Void
* Fixed test by wiring up MessageHandler
* test cleanups
removed changeReturnType for MethodHandle as filterReturnValue already changes to return type of the filter
* fixed MessageReceivingTest.testPartialBinaryFrameHandler
* Core BatchMode replaced by boolean
* fixed LargeContainerTest.testEcho by allowing the policy to be set on the WSServer as an attribute
* acquire batchBuffer before calculating batchSpace in FrameFlusher
* Deprecated WebSocketPolicy
* Fixing MessageReceivingTest
* Refactoring out websocket-servlet
+ WebSocketPolicy removed from websocket-servlet
+ websocket-common is removed
+ Migrating back up to APIs
* WIP removing core policy
* added missing copyright headers
* customize client session
* customize cleanup
* wip
* wip
* Removing WebSocketPolicy usage within websocket-core
* Allowing DummyCoreSession to have a Behavior
* Removing core WebSocketPolicy.clonePolicy() - no longer used
* Jetty Native WebSocket now compiles / tests
* Remember WebSocketServletFactoryImpl as Context Attribute
* JSR356 codebase now compiles
* updated websocket servlets
* fix handling for no max message size
* Fixed LargeContainerTest.testEcho
Changed WebSocketServletFactoryImpl.defaultAutFragment to true
only check the incoming frame size if autoFragment is false
* Added WebSocketConstants to avoid duplicate default locations
* applications extensions discovered via headers
* fixed ConfiguratorTest.testNoExtensionsConfigurator
* cleaned up extension negotiation
* cleaned up extension negotiation
* cleanups
* Convert exceptions to API versions
* cleanup imports
* convert requestURI to a WebsocketURI in Negotiated
* fixed SessionTrackingTest
* moved session tracking management to be done by the JavaxWebSocketFrameHandler
* Cleanup dump for jdk11 classloaders
* fix to ConfiguratorTest
added the EchoSocket endpoint on the ServerContainer instead of using server.registerWebSocket
* Simplify websocket-servlet
    fixed jetty websocket chat example
    fixes for javax websocket chat example
    fixed Upgrade response header issues
    Set default configurations
    improved dump
    depends on javax server impl
    do not expose core classes
    fix javadoc
    removed FrameHandlerFactory self reference
* Removed -impl from javax client and server
* Fixed common tests for onClosed event
* Improve creation of JavaxWebSocketServerContainer
Better handling of executor and httpClient as managed beans
* Fixed MessageOutputStream using empty buffers and looping forever
no longer enforce maxTextMessageBufferSize on partial messages
* Updates after review
reintroduced WebSocketServletFactory
reverted other API changes
* Ignored TextStreamTest tests incorrectly assuming no frame fragmentation
When message fragmentation is implemented in PartialStringMessageSink
then update these tests to check on the server side for no buffers
larger than the maxTextMessageBufferSize.
* fixed check for previous WebsocketUpgrade filter
Disable the AltFilterTest until problems of the WebSocketUpgradeFilter
attributes on the ServletContext are fixed.
* fixed flaky SessionTrackingTest by waiting for Sessions to open
* remove payload length check for outgoing frames
fix bug sending frames after they have failed validation checks
* reverted maven coords for javax client and server
* updated to latest jetty-10 dump changes
* Fix to WebSocketUpgradeFilter Attributes on the ServletContext
Removed deprecated method
WebSocketUpgradeFilter.configureContext(ServletContext)
Changed return type of
WebSocketUpgradeFilter.configureContext(ServletContext) to void.
WebSocketUpgradeFilter.configureContext was checking the ServletContext
for a WebSocketUpgradeFilter set as an attribute before creating a new
one. The FilterHolder from web.xml is being set as an attribute in init
which is called which happens after configureContext.
So instead of checking the attribute in
WebSocketUpgradeFilter.configureContext, we are now searching through
the filters on the ServletHandler to see if a WebSocketUpgradeFilter
has been registered with the CONTEXT_ATTRIBUTE_KEY.
* cleanup and identifying problems with FrameHandlerMetadata
* properly cache Metadata and copy MessageMetadata
properly cache Metadata in the FrameHandlerFactory using the metadataMap
copy the MessageMetadata from Metadata to prevent mutating the MethodHandle
* added new WebSocketServerContainerExecutorTest
removed DelayedStartClientOnServerTest which doesnt seem to be a valid
test when executors are shared
removed last check for executor==null in JavaxWebSocketServerContainerInitializer
as the threadPool is always created in the server
* reformatted websocket code
* reformat code
* Rervert unnecessary changes from 10.0.x
* Rervert unnecessary changes from 10.0.x
* fix build issues testing Hazelcast sessions
* QuotesDecoderTest sessions not being closed
* Fixed CookiesTest
CookiesTest.testCookiesAreSentToClient was failing due to the
Assertion being caught and logged by the upgrade request
the response is now captured by a FuturePromise and the assertions are
done in the main test
the reason the assertion was failing was due to lowercase "set-cookie"
instead of "Set-Cookie"
* fixed maven coords
* javadoc fixes
* fixed javadoc
* revert maven artifact names
* cleanup after review

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-02 13:07:43 +01:00
Greg Wilkins 254dc88743 Merge branch 'jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-01 20:24:43 +01:00
Simone Bordet 11abe53df7
Merge pull request #2965 from eclipse/jetty-9.4.x-2796-http2_max_concurrent_streams
Issue #2796 - Max local stream count exceeded when request fails.
2018-11-01 17:28:08 +01:00
Greg Wilkins 161f1698cf
Jetty 9.4.x 3018 request logging bad messages (#3020)
Issue #3018 improve logging and handling of slow data rates.

* Slow data rates now result in aborted channels, but exception is still thrown.  Test for 408 in requestLog
* Updated many RequestLog usages to use Server.setRequestLog rather than a RequestLogHandler
* Fixed javadoc
* removed BadRequestLogHandlerTest (tested in RequestLogTest)
* added JMH to show the future of request logging for #113
* copyright header.
* Updates from review
* Revert to throwing BadMessageException
* BME ensures a 408 is logged rather than a 500

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-01 17:06:04 +01:00
Simone Bordet 31cab3dc08 Issue #2796 - Max local stream count exceeded when request fails.
Restored smaller maxContentLength to avoid that the test takes
too much time and fails.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-30 19:36:02 +01:00
Simone Bordet b70323d55f Merged branch 'jetty-9.4.x' into 'jetty-9.4.x-2796-http2_max_concurrent_streams'. 2018-10-29 19:05:35 +01:00
Olivier Lamy 7dbe056521
Signed-off-by: olivier lamy <oliver.lamy@gmail.com> (#3035) 2018-10-29 17:14:59 +10:00
Simone Bordet 0445968277 Issue #3024 - JDK 11 Infinispan test failure.
Disabled test, waiting for Infinispan to fix their issue.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-23 15:46:41 +02: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
Simone Bordet 276fa7e86b Merged branch 'jetty-9.4.x' into 'jetty-9.4.x-2796-http2_max_concurrent_streams', 2018-10-18 16:56:13 +02:00
Jan Bartel ad40bab8fa ClusteredSessionScavengingTest is excluded for local infinispan test 2018-10-18 13:54:20 +11:00
Greg Wilkins 43ab14454a Some dump cleanups
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-10-17 17:14:42 +11:00
Greg Wilkins 0962fdb4e6 Moved async rest server to own module
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-10-17 11:45:38 +11:00
Greg Wilkins 42cda7bc7f Issue #2191 JPMS Support
Renamed ClasspathPattern to ClassMatcher as it also supports JPMS modules etc.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-10-17 10:08:20 +11:00
Simone Bordet 813b526cb2 Issue #2948 - Require JDK 11 for Jetty 10.x.
Removed references to ALPN API.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-12 09:45:23 +02:00
Simone Bordet ec2b5b1810 Issue #2796 - Max local stream count exceeded when request fails.
Bound release of the channel to stream close event.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-11 15:56:47 +02:00
Jan Bartel caf5ab4cbc Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-10-11 15:48:51 +11:00
Jan Bartel 8b44bed25a Issue #2975 Quickstart tests broken 2018-10-11 15:37:16 +11:00
Simone Bordet 41663d8e5c Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2018-10-11 00:36:10 +02:00
Simone Bordet cec84cf1bf Issue #2796 - Max local stream count exceeded when request fails.
Reviewed other possible places where max local stream count may
overflow.

Fixed handling of HTTP/2 stream idle timeouts.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-09 15:53:53 +02:00
Simone Bordet 8bd68bb8cd Merged 'jetty-10.0.x' into 'jetty-10.0.x-2948-require_jdk11'. 2018-10-09 10:48:15 +02:00
Simone Bordet bd3eeeaa3f Merged branch 'jetty-9.4.x' into 'jetty-9.4.x-2191-jpms_automatic_module_name'. 2018-10-04 12:27:31 +02:00
Simone Bordet 1fe6c92ee9 Issue #2948 - Require JDK 11 for Jetty 10.x.
First pass at making Jetty 10.x require JDK 11.

* Removed JDK 8 modules (in particular ALPN and ALPN *.mod files).
* Removed profiles targeting JDK 8, 9 and 10.
* Updated dependencies to newer versions that support JDK 11.
* Temporarily commented out the Jetty Maven Plugins due to
maven-plugin-plugin not working with JDK 11.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-03 11:15:30 +02:00
olivier lamy 90ca8063eb Merge branch 'jetty-9.4.x' into jetty-10.0.x 2018-10-03 09:55:58 +10:00
Olivier Lamy baca9cae39
Use cache to download to mongo and upgrade mongodb plugin (#2949)
* cache downloading mongodb and upgrade mongodb embeded plugin

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

* force mongodb version

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-10-03 09:54:05 +10:00
Simone Bordet e4ff653295 Issue #2191 - JPMS Support.
Introduced --jpms option in jetty-start to run Jetty from the module-path.

Introduced [jpms] sections in *.mod files, to specify JPMS command line
options that needs to be added to the command line generated by jetty-start.

Bumped java.transaction-api to 1.3 because it has Automatic-Module-Name.

Fixed ASM version lookup using ManifestUtils.

Fixed WebInfConfiguration.findAndFilterContainerPaths() to properly
scan the module-path, which may contain both files and directories.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-09-25 22:11:25 +02:00
olivier lamy 5e8a7403d1 Merge branch 'jetty-9.4.x' into jetty-10.0.x 2018-09-22 20:11:03 +10:00
Olivier Lamy 71a1801433
Issue #2918 restore a TestTracker with junit5 (#2927)
* add TestTracker junit5 extension #2918

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-09-21 14:03:05 +10:00
olivier lamy 32912b922d Merge branch 'jetty-9.4.x' into jetty-10.0.x 2018-09-06 17:39:57 +10:00
olivier lamy 1504b7da93 Revert "Issue #2431 - Upgrade to Junit 5 (#2436)"
This reverts commit e24fc48539.
2018-09-06 09:27:11 +10:00
Joakim Erdfelt e24fc48539 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 21:27:18 +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 8dd05ac3f7
merge from 9.4.x 2018-09-04 13:48:43 -05:00
Jesse McConnell 44c95865f2
Issue #2878 fix post release javadoc generation 2018-08-31 15:57:38 -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
WalkerWatch d95b39f5f7 Merge branch 'jetty-9.4.x' into jetty-10.0.x 2018-08-29 12:16:26 -04:00
Simone Bordet 7cf027b98f Jetty 9.4.x 2711 tls 13 compliance (#2857)
Issue #2711 - TLS 1.3 compliance.

Disabled few tests that are TLS 1.2 specific.
Renegotiation in SslConnection is now skipped for TLS 1.3.
Replaced SNI keystore DSA certificate with RSA certificate.
First full build achieved with JDK 11+28.
Small changes after review.
Modified the test case to pass in JDK 8, where the implementation
throws SSLException, while in later JDKs throws SSLHandshakeException.
Minor cleanup

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-28 21:43:45 +10:00
WalkerWatch 90f15f278b 9.4.x->10.0.x 2018-08-27 22:58:01 -04:00
Jan Bartel 09be34e08b
Issue #2844 Clean up webdefault and DefaultServlet documentation (#2851)
Signed-off-by: Jan Bartel <janb@webtide.com>
2018-08-28 09:53:06 +10:00
Greg Wilkins f15bd225b4 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-08-21 14:47:19 +10:00
Jan Bartel 23bf2504fe
Issue #2720 Ensure standard jetty properties available in jetty-env.xml (#2806)
Signed-off-by: Jan Bartel <janb@webtide.com>
2018-08-16 08:29:12 +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 9390c2df3f Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-08-06 09:04:58 -05:00
Simone Bordet 0892ed8983 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2018-07-18 16:25:39 +02:00
Greg Wilkins 1e703e8368 Merge branch 'jetty-9.4.x' into jetty-9.4.x-2695-hpack-compliance 2018-07-12 11:07:36 +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
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
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 af49dd8322 more Post-Merge build fixes 2018-06-12 13:52:26 -05:00
Joakim Erdfelt 0cd4dacbac Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>

# Conflicts:
#	VERSION.txt
#	aggregates/jetty-all-compact3/pom.xml
#	aggregates/jetty-all/pom.xml
#	apache-jsp/pom.xml
#	apache-jstl/pom.xml
#	examples/async-rest/async-rest-jar/pom.xml
#	examples/async-rest/async-rest-webapp/pom.xml
#	examples/async-rest/pom.xml
#	examples/embedded/pom.xml
#	examples/pom.xml
#	jetty-alpn/jetty-alpn-client/pom.xml
#	jetty-alpn/jetty-alpn-conscrypt-client/pom.xml
#	jetty-alpn/jetty-alpn-conscrypt-server/pom.xml
#	jetty-alpn/jetty-alpn-java-client/pom.xml
#	jetty-alpn/jetty-alpn-java-server/pom.xml
#	jetty-alpn/jetty-alpn-openjdk8-client/pom.xml
#	jetty-alpn/jetty-alpn-openjdk8-server/pom.xml
#	jetty-alpn/jetty-alpn-server/pom.xml
#	jetty-alpn/pom.xml
#	jetty-annotations/pom.xml
#	jetty-ant/pom.xml
#	jetty-bom/pom.xml
#	jetty-cdi/cdi-2/pom.xml
#	jetty-cdi/cdi-core/pom.xml
#	jetty-cdi/cdi-full-servlet/pom.xml
#	jetty-cdi/cdi-servlet/pom.xml
#	jetty-cdi/cdi-websocket/pom.xml
#	jetty-cdi/pom.xml
#	jetty-cdi/test-cdi-webapp/pom.xml
#	jetty-client/pom.xml
#	jetty-continuation/pom.xml
#	jetty-deploy/pom.xml
#	jetty-distribution/pom.xml
#	jetty-documentation/pom.xml
#	jetty-fcgi/fcgi-client/pom.xml
#	jetty-fcgi/fcgi-server/pom.xml
#	jetty-fcgi/pom.xml
#	jetty-gcloud/jetty-gcloud-session-manager/pom.xml
#	jetty-gcloud/pom.xml
#	jetty-hazelcast/pom.xml
#	jetty-home/pom.xml
#	jetty-http-spi/pom.xml
#	jetty-http/pom.xml
#	jetty-http2/http2-alpn-tests/pom.xml
#	jetty-http2/http2-client/pom.xml
#	jetty-http2/http2-common/pom.xml
#	jetty-http2/http2-hpack/pom.xml
#	jetty-http2/http2-http-client-transport/pom.xml
#	jetty-http2/http2-server/pom.xml
#	jetty-http2/pom.xml
#	jetty-infinispan/pom.xml
#	jetty-io/pom.xml
#	jetty-jaas/pom.xml
#	jetty-jaspi/pom.xml
#	jetty-jmx/pom.xml
#	jetty-jndi/pom.xml
#	jetty-jspc-maven-plugin/pom.xml
#	jetty-maven-plugin/pom.xml
#	jetty-memcached/jetty-memcached-sessions/pom.xml
#	jetty-memcached/pom.xml
#	jetty-nosql/pom.xml
#	jetty-osgi/jetty-osgi-alpn/pom.xml
#	jetty-osgi/jetty-osgi-boot-jsp/pom.xml
#	jetty-osgi/jetty-osgi-boot-warurl/pom.xml
#	jetty-osgi/jetty-osgi-boot/pom.xml
#	jetty-osgi/jetty-osgi-httpservice/pom.xml
#	jetty-osgi/pom.xml
#	jetty-osgi/test-jetty-osgi-context/pom.xml
#	jetty-osgi/test-jetty-osgi-fragment/pom.xml
#	jetty-osgi/test-jetty-osgi-server/pom.xml
#	jetty-osgi/test-jetty-osgi-webapp/pom.xml
#	jetty-osgi/test-jetty-osgi/pom.xml
#	jetty-plus/pom.xml
#	jetty-proxy/pom.xml
#	jetty-quickstart/pom.xml
#	jetty-rewrite/pom.xml
#	jetty-runner/pom.xml
#	jetty-security/pom.xml
#	jetty-server/pom.xml
#	jetty-server/src/main/config/etc/jetty-http.xml
#	jetty-server/src/main/config/etc/jetty-ssl.xml
#	jetty-servlet/pom.xml
#	jetty-servlets/pom.xml
#	jetty-spring/pom.xml
#	jetty-start/pom.xml
#	jetty-unixsocket/pom.xml
#	jetty-util-ajax/pom.xml
#	jetty-util/pom.xml
#	jetty-util/src/main/java/org/eclipse/jetty/util/MultiException.java
#	jetty-util/src/test/java/org/eclipse/jetty/util/MultiExceptionTest.java
#	jetty-webapp/pom.xml
#	jetty-websocket/javax-websocket-client-impl/pom.xml
#	jetty-websocket/javax-websocket-server-impl/pom.xml
#	jetty-websocket/javax-websocket-server-impl/src/main/java/org/eclipse/jetty/websocket/jsr356/server/AnnotatedServerEndpointConfig.java
#	jetty-websocket/javax-websocket-server-impl/src/test/java/org/eclipse/jetty/websocket/jsr356/server/TrackingSocket.java
#	jetty-websocket/pom.xml
#	jetty-websocket/websocket-api/pom.xml
#	jetty-websocket/websocket-client/pom.xml
#	jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ClientCloseTest.java
#	jetty-websocket/websocket-client/src/test/java/org/eclipse/jetty/websocket/client/ClientConnectTest.java
#	jetty-websocket/websocket-common/pom.xml
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/compress/ByteAccumulator.java
#	jetty-websocket/websocket-common/src/main/java/org/eclipse/jetty/websocket/common/extensions/compress/CompressExtension.java
#	jetty-websocket/websocket-common/src/test/java/org/eclipse/jetty/websocket/common/WebSocketRemoteEndpointTest.java
#	jetty-websocket/websocket-server/pom.xml
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/WebSocketUpgradeFilterTest.java
#	jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/misbehaving/MisbehavingClassTest.java
#	jetty-websocket/websocket-servlet/pom.xml
#	jetty-websocket/websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/extensions/FragmentExtensionTest.java
#	jetty-websocket/websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/jsr356/sockets/pong/PongContextListener.java
#	jetty-websocket/websocket-tests/src/test/java/org/eclipse/jetty/websocket/tests/server/jsr356/ConfiguratorTest.java
#	jetty-xml/pom.xml
#	pom.xml
#	tests/pom.xml
#	tests/test-continuation/pom.xml
#	tests/test-http-client-transport/pom.xml
#	tests/test-integration/pom.xml
#	tests/test-jmx/jmx-webapp-it/pom.xml
#	tests/test-jmx/jmx-webapp/pom.xml
#	tests/test-jmx/pom.xml
#	tests/test-loginservice/pom.xml
#	tests/test-quickstart/pom.xml
#	tests/test-sessions/pom.xml
#	tests/test-sessions/test-file-sessions/pom.xml
#	tests/test-sessions/test-gcloud-sessions/pom.xml
#	tests/test-sessions/test-hazelcast-sessions/pom.xml
#	tests/test-sessions/test-infinispan-sessions/pom.xml
#	tests/test-sessions/test-jdbc-sessions/pom.xml
#	tests/test-sessions/test-memcached-sessions/pom.xml
#	tests/test-sessions/test-mongodb-sessions/pom.xml
#	tests/test-sessions/test-sessions-common/pom.xml
#	tests/test-webapps/pom.xml
#	tests/test-webapps/test-http2-webapp/pom.xml
#	tests/test-webapps/test-jaas-webapp/pom.xml
#	tests/test-webapps/test-jetty-webapp/pom.xml
#	tests/test-webapps/test-jndi-webapp/pom.xml
#	tests/test-webapps/test-mock-resources/pom.xml
#	tests/test-webapps/test-proxy-webapp/pom.xml
#	tests/test-webapps/test-servlet-spec/pom.xml
#	tests/test-webapps/test-servlet-spec/test-container-initializer/pom.xml
#	tests/test-webapps/test-servlet-spec/test-spec-webapp/pom.xml
#	tests/test-webapps/test-servlet-spec/test-web-fragment/pom.xml
#	tests/test-webapps/test-webapp-rfc2616/pom.xml
2018-06-12 11:11:38 -05:00
Simone Bordet 4f1dd352d6
Issue #2468 - Remove SoLinger. (#2644)
* Issue #2468 - Remove SoLinger.

For non-blocking sockets, StandardSocketOptions#SO_LINGER javadocs
report that the behavior is undefined. In JDK 11 setting SoLinger
for non-blocking sockets will be ignored.

As such, there is no point in allowing SoLinger to be configured
in Jetty that only uses non-blocking sockets.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-06-09 13:21:24 +02:00
Simone Bordet fbcc752ad7
Fixes #2631 - Buffering capacity exceeded for HEAD requests with large Content-Length. (#2640)
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-06-08 17:48:58 +02:00
Joakim Erdfelt 3932b11e64 Merge remote-tracking branch 'origin/release-9.4.11' into jetty-9.4.x 2018-06-07 14:31:24 -05:00
Lachlan d926f04217 Fixes #2594 - Fix failing tests in SaveOptimizeTest due to timing issues (#2608)
Tests in SaveOptimizeTest were checking if the last time the SessionData had been saved was greater than it was before
if the second save occured on the same millisecond as the first it failed the assertion
now counting how many times the SessionData has been saved instead of when it was saved

Added memory barriers to TestContextScopeListener and TestSessionDataStore as they are being accessed from multiple different threads in the test

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-06-07 14:58:35 +02:00
Greg Wilkins 1f1a5cb064
Merge pull request #2610 from lachlan-roberts/jetty-9.4.x-issue-2592-ServerTimeoutTest-testAsyncWriteIdleTimeoutFires
Issue #2592 - fix for ServerTimeoutTest.testAsyncWriteIdleTimeoutFires [HTTP] on windows
2018-06-06 08:24:07 +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
Simone Bordet e5554831e0
Fixes #2616 - Trailers preventing client from processing all the data. (#2623)
* Fixes #2616 - Trailers preventing client from processing all the data.

Trailer handling was erroneously firing the response success event
before all the response content events happened.

Now the trailer handling uses a poison-pill DATA frame to make sure that
all response content events happen before the response success event.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-06-05 18:55:55 +02:00
Lachlan Roberts 1bf5128e6d Fixes #2592 - changes to fix ServerTimeoutsTest.testAsyncWriteIdleTimeoutFires[transport: HTTP] on windows
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-05-31 19:44:51 +10:00
Lachlan Roberts f9d474ad66 Merge remote-tracking branch 'eclipse/jetty-9.4.x' into jetty-9.4.x-stackTraceRemoval 2018-05-30 08:26:45 +10:00
Greg Wilkins 436c00b0af Fixed #2585
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-29 15:48:53 +02:00
Greg Wilkins 4f20447a5a Fixed #2585
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-29 14:58:05 +02: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
Lachlan Roberts 69aaabac24 fixes to printed exception stack traces in tests
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-05-29 17:55:14 +10:00
Greg Wilkins 252ab9facf
Jetty 9.4.x 2550 coalesce ranges (#2551)
Issue #2550 coalesce ranges

Author: Lachlan Roberts <lachlan@webtide.com>
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-05-18 08:45:54 +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
Simone Bordet d4144f2863 Fixes #2518 - How to handle 100-continue responses that don't fire onComplete callback.
HttpClient was confused by servers that responded
with two 100 Continue in the same HTTP conversation.

Now, whether the 100 Continue response has been handled
already is stored per-request, not per-conversation.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-09 22:33:27 +02:00
Simone Bordet 67a3497755 Code cleanups.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-09 22:33:27 +02:00
Simone Bordet da0b12a20b Restored tests that were ignored by mistake.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-09 09:36:06 +02:00
olivier lamy 6451c41aff add one more test for hazelcast sessiom, simplify hazelcast instance used for testing as we do not need multicasting
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-05-06 09:55:31 +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
Greg Wilkins e59d6fa2c0
Support root base or home for quickstart #2446 (#2447)
* Support root base or home for quickstart #2446

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

* Issue #2446 - Root as base for quickstart

+ Adding more tests for differences we have to resolve
  with windows vs linux root path differences.
  and URI's that have an authority vs those without an authority.

  without authority examples:

  file:/code/
  file:/C:/code/

  with authority examples:

  file:///code/
  file:///C:/code/

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

* Using the canonical URI passes all the tests on linux, but I still have some concerns with the whole approach

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

* minor cleanups

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

* Handle windows URIs

Because a windows like `file:///F:/` has a path of `/F:/`, then it is OK to strip the trailing `/`, so the
expected normalized value can be `file:///F:`.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-03 09:56:08 +10:00
Jan Bartel 5515e13649
Issue #2427 Stop and start session idle timer (#2466)
* Issue #2427 Stop and start session idle timer

Signed-off-by: Jan Bartel <janb@webtide.com>
2018-05-03 08:05:26 +10:00
Jan Bartel 0e971e07d6
Issue #2274 Fix timing in CreationTest and other fixes (#2489)
Signed-off-by: Jan Bartel <janb@webtide.com>
2018-05-01 09:59:53 +10:00
Joakim Erdfelt 8763c6065d Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-04-20 11:32:46 -05:00
olivier lamy 781cf076f7 compact syntax :-)
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-04-20 18:59:12 +10:00
olivier lamy b90f6de54e no need to create different map per test as we clear it
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-04-20 18:59:12 +10:00
olivier lamy d84cac1be7 no need of sources jar for test jars will save some io...
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-04-19 10:27:18 +10: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
olivier lamy 5f2306c9cd add a profile to run all tests even those disable with some jdks
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-04-14 13:03:50 +10:00
olivier lamy ffa270b6c8 disable failing tests for jdk11
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-04-13 21:49:02 +10:00
olivier lamy f6268ec919 add jdk10 profile to disable some tests
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-04-06 11:04:27 +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
Jan Bartel 67d887758d Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-03-29 17:36:29 +11:00
Jan Bartel b4e400f236 Jetty 9.4.x 2231 refactor session tests (#2382)
* Issue #2231 WIP

* Issue #2231 Add tests for FileSessionDataStore and MongoSessionDataStore.

* Issue #2231 create unit tests for every SessionDataStore

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

* Issue #2231 Refactor session tests

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

* Issue #2231 Refactor and cleanup session tests.

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

* hazelcast tests faster

Signed-off-by: olivier lamy <olamy@webtide.com>

* make hazelcasts tests even faster

Signed-off-by: olivier lamy <olamy@webtide.com>

* cleanup comments

Signed-off-by: olivier lamy <olamy@webtide.com>

* run mongodb test in embdedded mode

Signed-off-by: olivier lamy <olamy@webtide.com>

* mongodb embedded test enabled per default

Signed-off-by: olivier lamy <olamy@webtide.com>

* Issue #2231 more session tests

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

* fix mongodb embedded tests

Signed-off-by: olivier lamy <olamy@webtide.com>

* cleanup code

Signed-off-by: olivier lamy <olamy@webtide.com>

* use Logger rather than System.err.println

Signed-off-by: olivier lamy <olamy@webtide.com>

* Issue #2231 Add test for DefaultSessionCache

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

* Issue #2231 Redisable mongo tests by default.

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

* fix issue with empty local repo build

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

* jenkins should run mongodb tests

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

* build this plugin last so we should not hit the maven invoker plugin

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

* build test first for this one

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

* use invoker plugin 3.0.2-SNAPSHOT as there is a fix for https://issues.apache.org/jira/browse/MINVOKER-191

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

* temporary use of apache snapshots repository because of maven-invoker-plugin 3.0.2-SNAPSHOT

Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
2018-03-28 20:14:15 +10: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 a74a328024 Merge branch 'release-9.4.9' into jetty-9.4.x 2018-03-21 16:33:56 -05:00
Simone Bordet e651d2d69b
Fixes #2350 - Support multiplexing in RoundRobinConnectionPool. (#2352)
Introduced ConnectionPool.Multiplexable for connection pools that support multiplexing.
Reworked RoundRobinConnectionPool to support multiplexing.
Moved tests to test RoundRobinConnectionPool with both HTTP/1.1 and HTTP/2.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-21 16:29:30 +01: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
Joakim Erdfelt 3f17f7853f
Merge pull request #2281 from joakime/issue-2278-dist-test-dep
Issue #2278 - making distribution pom not require tests
2018-03-15 04:45:16 -05:00
olivier lamy 7004aaa538 #2298 Override the processor number with an environment variable
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-03-07 21:02:26 +10: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 3c393da3f9 Issue #2278 - making distribution pom not require tests
- Speculative fix to ensure that the users of the jetty-distribution
  do not require the test artifacts to utilize the tarball / zip files
- Also disabled the snapshot repository as it causes false success
- Adding now unreferenced dependency

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-03-06 16:11:07 -06: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
Jan Bartel 1ecf774912 Issue #2267 Added extra asserts to o.e.j.s.session.CreationTest 2018-03-06 10:17: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
Joakim Erdfelt 8dc073e5ba Fixing Windows test. '/tmp' is invalid path on Windows 2018-02-27 09:56:43 -06:00
Greg Wilkins 1a84a8d129 ignored test #2243
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-26 17:32:54 +11:00
Greg Wilkins cc7c057a60 improve fragile tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-22 15:52:33 +11:00
Greg Wilkins 2b87d22da1 improved fragile test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-22 15:37:21 +11:00
Greg Wilkins ba9f9e4b15 Ignore flakey test #2214
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-22 11:56:52 +11:00
Greg Wilkins 1cf4f2a4d4
Merge pull request #2187 from olamy/feature/jdk-10-build
Feature/jdk 10 build
2018-02-21 16:39:48 +11:00
Greg Wilkins cceca0fbd8
Merge pull request #2201 from olamy/bugfix/hazelcast_test_failure
use different instance name to avoid collision
2018-02-21 16:33:42 +11:00
Greg Wilkins 386dfc0331 less fragile tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-20 11:32:49 +11:00
Greg Wilkins ec51926622 reduce fragility of tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-19 19:22:32 +11:00
olivier lamy 9cb4742897 use different instance name to avoid collision
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-02-19 15:13:30 +10: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
Simone Bordet 8a6b33a3e8 Fixes #2190 - HTTP/2 close and GOAWAY behavior.
Now the receiver of a GOAWAY also replies with a GOAWAY
before closing the connection.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-02-09 10:55:39 +01:00
Joakim Erdfelt 252ed9349a Updating s/2017/2018/ 2018-02-08 08:53:58 -06:00
Joakim Erdfelt c9dd17bf9a
Merge pull request #2110 from eclipse/issue-1602-deployer-error
Issue #1602 - Deployment Error should fail fast
2018-02-08 08:44:19 -06: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 0a7725cac1 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-31 15:08:05 +01:00
Greg Wilkins aa68951c53 Disable unixsocket client tests #2014
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-31 11:21:29 +01:00
Greg Wilkins b1a5e42ada Disable unixsocket client tests #2014
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-31 11:09:31 +01:00
Joakim Erdfelt 48123eefc6 Issue #1602 - Better tests for differences in deploy
+ Testing deploy modes: [Initial, Delayed]
  "Initial" is a deploy where the webapps exist
  in the monitored directory at startup.
  "Delayed" is a deploy where the Server is already
  started when a new webapp is added to the monitored
  deployment directory.
+ Webapp types: [Unavailable: True, False]
  This is the WebAppContext.isThrowUnavailableOnStartupException
  setting.
+ New DeploymentManager Node[FAILED] to assign to webapps that
  fail the deployment during the "Delayed" deployment scenario.
  Useful as a binding for hooking into failed deployments.
2018-01-30 14:23:50 -06:00
Greg Wilkins 214298b71b Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-16 17:59:28 +01:00
Greg Wilkins f4e37b1adb
Issue #2014 - Unix Socket Client (#2025)
There are still problems with this impl (some client tests ignored) and there is still a work around for the JNR bug 50, however this impl is already much better than the unix socket support that is already in the release.  So will merge for now and put more effort in once there is a JNR fix.

* WIP add unix domain sockets support in HttpClient
* move unix socket client part to unix socket module #2014
* some cleanup #2014
* add missing headers #2014
* add TODO
* UnixSocket client refactor
* cleanup test and pom
* minor changes, use LOG.isDebugEnabled() before using debug method
* add UNIX SOCKET http client test with all other tests, push this to see what happen on Jenkins
* fix some unit tests
* fix more tests
* fix load test
* UnixSocket client
* Demonstrate JNR bug
* Worked around JNR bug 50
* close channel on client side as well
* more details in log
* log file path as well
* #2014 disable test per default as doesn't work on some environement
* Revert "#2014 disable test per default as doesn't work on some environement"
* test only on unix
* Allow test of specific transport(s)
* Move unix socket to /tmp
* move test socket to /tmp
* move test socket to /tmp
* ignore failing tests for now
* fix bean name and possible to use sys prop org.eclipse.jetty.http.client.AbstractTest.Transports with mvn cli
* test isBlank as surefire props is not null
* correctly create tmp file with @Before
* do not delete file
* use /tmp as build directory doesn't seem to work within docker...
* do not delete sock file on client as it is own by the server
* file must not exist when binding unix socket
* #2014 fix license header
* network specific tests assumed
* Fixed to handle null selector keys
* add assume for tests that assume a network connector

Signed-off-by: olivier lamy <olamy@webtide.com>
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-13 11:59:47 +01:00
Joakim Erdfelt 1998720719 Issue #1602 - more tests 2018-01-11 16:17:05 -06: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
Joakim Erdfelt ce84ca35fb Issue #1602 - LifeCycle FAILED fixes
+ AbstractLifeCycle.setFailed(Throwable) is now protected, so
  that the odd usages from WebAppContext.doStart() can be supported
+ The AbstractLifeCycle.doStart() now checks for state == FAILED
2018-01-11 09:36:05 -06:00
Joakim Erdfelt 235cc149f3 Issue #1602 - Adding more TestCases around throwUnavailableOnStartupException
+ Reverting minor import change to EnvConfiguration
+ Adding /badapp-uaf (throw unavailable fail = true) context
+ Adding tests for throwUnavailableOnStartupException (true & false)
2018-01-10 12:02:20 -06:00
Greg Wilkins 7138dc3828
Jetty 9.4.x #1918 scalable scheduler3 (#2101)
* Scalable scheduler changes for #1918
* Added HttpChannel.destroy to destroy CyclicTimer
* fixed rebase with HttpConnectionOverFCGI
* renamed to acquire
* Destroying the HttpChannel consistently in all transports.
* updated headers
* cleanup after final review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-10 16:56:41 +01:00
Jan Bartel a0b8321ef4
Jetty 9.4.x 2038 slow filesessiondatastore (#2102)
* Issue #2038 Speed up FileSessionDataStore

Signed-off-by: Jan Bartel <janb@webtide.com>
2018-01-10 16:40:53 +01:00
Joakim Erdfelt 1440b2d1fa Issue #1602 - WebAppContext Deployment fail should be on Throwable, not Exception 2018-01-09 11:58:57 -06: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 b2ff7c5cb8 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-08 21:30:12 +01:00
Joakim Erdfelt 3eb8b1d59b Issue #1602 - Attempting to add testcase.
* Attempt to replicate reproduction case reported by @janbartel

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-01-08 11:58:55 -06:00
Joakim Erdfelt bd01e1877a Updating to version 9.2.25-SNAPSHOT 2018-01-05 11:35:42 -06:00
Simone Bordet c35b832251 Fixes #2088 - Recycle HTTP/2 channels on the client.
Recycled channels also for FCGI.
Small improvements to HTTP/2 too.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-05 17:19:06 +01:00
Joakim Erdfelt a617842695 Updating to version 9.2.24.v20180105 2018-01-05 10:11:08 -06:00
Simone Bordet 48c77b8608
Fixes #2088 - Recycle HTTP/2 channels on the client. (#2089)
Removed the distinction between pushed and non-pushed channels; only
non-pushed channels are released and recycled if they're not failed.

Properly resetting HttpReceiverOverHTTP2.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-04 07:09:08 -08:00
Greg Wilkins 41050cd8a4
Issue #2081 No idle timeout exception when dispatch is delayed (#2083)
Issue #2081 No idle timeout exception when dispatch is delayed
* Delegate the readtimeout handling to HttpChannel so that a delayed dispatch can be ended.
* Added unit test for delayed dispatch idle
* Now using HttpInput.onIdleTimeout() to fail the HttpInput, and then dispatching the request in case it has not been dispatched yet. This ensure consistent behavior independently of the value of HttpConfiguration.delayDispatchUntilContent.
* Fixed for both HTTP/1.1 and HTTP/2.
* Added tests for non-blocking reads.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-04 13:26:31 +01:00
Jan Bartel bfe79c0afe Enable debug logging for SessionExpiryTest 2018-01-04 12:40:03 +01:00
Greg Wilkins 12647f51e7 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-12-27 16:04:16 +01:00
Simone Bordet e86e8a752c Issue #1973 - Implement minimum response data rate (#2012)
* Code cleanups.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>

* Improved test case handler.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>

* Improved exception message.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>

* Issue #1973 - Implement minimum response data rate.

Implemented response content data rate control in HttpOutput.

Introduced a WriteFlusher.Listener interface that produces events
for every flush(). These events are forwarded to the Connection
and from there to the HttpOutput so that the data rate control can
be enforced.

Both HTTP/1.1 and HTTP/2 are implemented.
Data rate control for HTTP/1.1 is approximate because it will count
also headers bytes and the chunk bytes, while for HTTP/2 is precise.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>

* Issue #1973 - Implement minimum response data rate.

Addressed review comments.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-27 15:07:32 +01:00
olivier lamy 696b60a541 ensure we really use only client test
Signed-off-by: olivier lamy <olamy@webtide.com>

use a randomized map name to store sessions in order to avoid conflicts

Signed-off-by: olivier lamy <olamy@webtide.com>

reduce hazelcast logging noise

Signed-off-by: olivier lamy <olamy@webtide.com>

clarify onlyClient mode

Signed-off-by: olivier lamy <olamy@webtide.com>
2017-12-27 14:49:59 +01: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
Greg Wilkins bb0f06fecc Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-11-14 18:15:55 +01:00
Olivier Lamy 786f128808 implements connection.getBytes[In|Out] for http transport #922 (#1965)
* implements connection.getBytes[In|Out] for http transport, #922

Signed-off-by: olivier lamy <olamy@webtide.com>

* use LongAdder rather than AtomicLong

Signed-off-by: olivier lamy <olamy@webtide.com>

* changes by Greg review

Signed-off-by: olivier lamy <olamy@webtide.com>

* changes by Greg review

Signed-off-by: olivier lamy <olamy@webtide.com>
2017-11-14 08:41:47 +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
Jan Bartel 050d593056 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-10-17 16:45:31 +11: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
Jan Bartel 6df5377634 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-10-11 15:41:54 +11:00
Dan Smith a579823f29 Issue #1885 Fixed rounding error of negative maxInactiveInterval
Session.getMaxInactiveInterval should return a negative number if the
the session is configured with a negative maxInactiveInterval. It was
being rounded up to 0 by mistake.

Signed-off-by: Dan Smith <upthewaterspout@apache.org>
2017-10-10 13:59:52 -07:00
Simone Bordet 8efbc53d64 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-09 12:08:41 +02:00
Simone Bordet c69c7b29c7 Fixes #1878 - Handle 100 Continue response without Expect header. 2017-10-09 12:08:24 +02:00
Jan Bartel b1c8e9bad2 Fix version number for test-http2-webapp 2017-10-06 09:05:14 +11:00
Simone Bordet bee383c894 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-03 01:22:35 +02: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
Greg Wilkins 1ce96be964 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-09-28 07:58:15 +10:00
Greg Wilkins 7d98cbb870 Issue #1851 Improve insufficient thread warnings/errors
Squashed commit of the following:

commit 1d9e8e4b4d53898cb6435f67529347bd2ba82cf0
Merge: 7280594 55b0f10
Author: Greg Wilkins <gregw@webtide.com>
Date:   Thu Sep 28 07:20:37 2017 +1000

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-1851-ThreadBudget

commit 7280594a0058538b603ad35625713a79830e9b93
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 22:48:58 2017 +1000

    fixed headers

commit f962f18e5b098ae40846ee3832736ee4650aed84
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 18:12:33 2017 +1000

    Issue #1851 added reset

commit a63894de284c8d8dc5ed031f1f6e0fccaf6c7715
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 18:08:53 2017 +1000

    Issue #1851 improved test

commit 8bcc460dc63273165305a7adcb88e991e30de4b7
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 18:03:47 2017 +1000

    Issue #1851 Improve insufficient thread warnings/errors

    Refactor approach to use Leases, to handle multiple executors

commit fe4be5f56594f342ab5c2e6c886397d9b4fe9c14
Merge: abc5eac a248d38
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 15:37:56 2017 +1000

    Merge branch 'jetty-9.4.x' into jetty-9.4.x-1851-ThreadBudget

commit abc5eac2b73d306a91b28ef4db778455095a5bdb
Author: Greg Wilkins <gregw@webtide.com>
Date:   Wed Sep 27 12:20:03 2017 +1000

    Issue #1851 Improve insufficient thread warnings/errors

    Created a ThreadBudget class that can be used to warn/error for
    registered and unregistered allocations of threads.

    The server on doStart does an unregistered check of all its components that
    implement the Allocation interface.

    The client will register itself as an Allocation if a shared Executor is used.
2017-09-28 07:35:05 +10:00
Jan Bartel 16c068d3fa Issue #1853 2017-09-27 14:38:44 +10:00
WalkerWatch b889d2d300 Fixing JXURL usage and updating proxy webapp as in #1747. Resolves #1844. 2017-09-25 14:54:19 -04:00
Greg Wilkins 1b7ebf5599 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-09-23 00:22:57 +10:00
Greg Wilkins 5452ed18fa Issue#215 fixed tests dependencies 2017-09-21 10:19:32 +10:00
Jan Bartel 1bc348a9ad Issue #1831 2017-09-21 09:40:29 +10:00
Jan Bartel d9ecd5e6bc Issue #1818 2017-09-20 13:31:49 +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
Simone Bordet 6c471264d7 Issue #1818 - Infinispan tests failing with JDK 9.
Disabled tests for JDK 9.
2017-09-13 15:42:49 +02:00
Simone Bordet d9ade0678c Added JMX support. 2017-09-08 10:52:40 +02:00
Simone Bordet 3cbcb380a6 Merged branch 'jetty-9.4.x' into 'master'. 2017-08-21 17:02:56 +02:00
Simone Bordet cef5358fc8 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-08-21 17:02:20 +02:00
Simone Bordet b9a946f76e Made test more robust. 2017-08-21 17:00:40 +02:00
Joakim Erdfelt 651f422034 Merge branch 'jetty-9.4.x' to 'master' 2017-08-18 10:54:58 -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 c53f4cdd63 Merged branch 'jetty-9.4.x' into 'master'. 2017-08-16 12:54:03 +02: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
Greg Wilkins 8e7cdd8371 Updated for servlet 4.0 schemas 2017-08-15 15:33:11 +10:00
Greg Wilkins 60a7551785 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-08-15 11:55:58 +10:00
Simone Bordet 87d090e062 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-08-11 16:42:21 +02:00
Joakim Erdfelt 3ec5f8fa3d Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-08-09 16:21:08 -07:00
Simone Bordet d3d02f227e Fixes #1719 - Improve handling of HTTP/2 queued requests.
Idle timeout have a special meaning in that they become a no-operation
if the application is dispatched but idle (neither reading nor writing).

HttpChannelOverHTTP2 now forwards the idle timeout to HttpInput, which
will only change its state if it is interested in reading.

HttpInput.consumeAll() has been modified to consume all input even if
it's already failed.

Failures caused by the other peer (e.g. I/O failures or stream resets)
are now retained and will eagerly consumed any queued data to free up
the flow control windows.
2017-08-09 16:21:53 +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
Joakim Erdfelt 585f126b48 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x-clean 2017-08-08 09:24:41 -07:00
Jan Bartel c917d9e72b Issue #1714 2017-08-08 09:16:06 -07:00
Jan Bartel 9546db266b Issue #1681
(cherry picked from commit 0d99bde0c1e740493b6dfab772b3c4933c1e7d75)
2017-08-08 09:15:09 -07:00
Simone Bordet 191b6e044f Fixes #1656 - Improve configurability of ConnectionPools.
Introduced ConnectionPool.Factory and HttpClientTransport.connectionPoolFactory.
This allows applications to create a ConnectionPool given the HttpDestination.
2017-08-08 09:14:19 -07:00
Joakim Erdfelt c2598408d0 Issue #1650 - update clirr to report on API changes 2017-08-08 09:14:09 -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
olivier lamy 52e2d68605 update versions for new modules
Signed-off-by: olivier lamy <olamy@webtide.com>
2017-08-08 09:13:25 -07:00
olivier lamy 82dfd8fd74 apply changes after review #1571
Signed-off-by: olivier lamy <olamy@webtide.com>
2017-08-08 09:13:22 -07:00
olivier lamy b8e4f72e38 add Hazelcast session management #1571
Signed-off-by: olivier lamy <olamy@webtide.com>
2017-08-08 09:13:19 -07:00
Joakim Erdfelt 3fdbcffbbd Updating to version 9.2.23-SNAPSHOT 2017-08-08 09:12:55 -07:00
Jan Bartel b2187b3b1c Issue #1591 2017-08-08 09:12:53 -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
Jan Bartel a4bc251bb0 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-07-20 16:16:56 +02:00