Commit Graph

1712 Commits

Author SHA1 Message Date
Greg Wilkins d1f52d1534 Issue #3103
review results

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-13 16:57:26 +01:00
Greg Wilkins 78a775396e Issue #3103
delay setting transport.setHttpClient until late in doStart
Do not add DumpableCollection as a bean

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-13 16:52:04 +01:00
Greg Wilkins 859004bef4 Issue #3103
Fixed buffer leak
Only warn if HttpClient setters are called after start

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-13 16:42:12 +01:00
Greg Wilkins d0afc63cd5 Fixing HttpClient tests to configure before start 2018-11-13 14:22:19 +01:00
Greg Wilkins fa38868406 use setters from doStart
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-13 10:37:42 +01:00
Greg Wilkins 26eecd6f8e HttpClient Dump Improvements
Add or update beans in constructor or setter rather than in doStart

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-13 10:32:17 +01:00
Greg Wilkins 4f4e720a63 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-11-12 16:37:48 +01:00
Greg Wilkins 59dffebd1c
Revert backport of HttpClient executor bean handling. (#3088)
Revert to the not-so-good bean handling for the HttpClient executor
Added TODOs so that the bean handling can be updated in future.
Deprecated Websocket client setters that hide dependency on internal HttpClient instance.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-11 16:07:41 +01:00
Simone Bordet 2fd6266f62 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2018-11-09 18:25:03 +01:00
Simone Bordet f814354bb5 Issue #3085 - Restore Dump methods for backwards compatibility reasons.
Restored removed methods to maintain backwards compatibility.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-11-09 17:47:46 +01:00
Greg Wilkins 4a9265d4b4 backports from 10.0.x websocket refactor
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-03 17:53:32 +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
Greg Wilkins 0fe4b8aa34 increased timeouts to check for flaky test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-11-01 17:35:21 +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
Joakim Erdfelt 405a6b671d
Merge pull request #3017 from eclipse/jetty-10.x-issue-3011-move-httpcompliance-to-config
Issue #3011 - Moving HttpCompliance to HttpConfiguration
2018-10-22 16:24:28 -05:00
Joakim Erdfelt fbd9fc1da7 Issue #3011 - Removing HttpConnectionFactory.getHttpCompliance()
+ Can get HttpCompliance from HttpConfiguration now
+ Signature change to HttpConnection to avoid duplicate arguments
  on constructor.

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-10-22 16:12:11 -05:00
Joakim Erdfelt 1091b98554 Issue #3009 - Defaulting to non-LEGACY compliance modes
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-10-22 15:38:00 -05:00
Greg Wilkins be120aa3b5 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-10-22 12:20:39 +11: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
Simone Bordet 7134b35286 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2018-10-09 23:21:43 +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
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 166eeaa1f6
Jetty 9.3.x #2954 report cause (#2959)
Issue #2954 Report badmessage cause

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-05 18:36:35 +10:00
Simone Bordet 72c2507a67 Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2018-10-05 08:11:42 +02:00
Simone Bordet 20db6700c0 Fixes #859 - Stack overflow error in jetty high level API.
Now executing the call to abort() so that the stack overflow is avoided.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-03 18:24:59 +02:00
Simone Bordet 8213a95a7b Merged branch 'jetty-9.4.x' into 'jetty-10.0.x'. 2018-10-02 22:51:46 +02:00
Simone Bordet 462668e80a Issue #2868 - Adding SPNEGO authentication support for Jetty Client.
Running tests only on JDK 11, as apparently other JDKs have problems
with AES encryption/decryption.
Another hypothesis is that Kerby does AES encryption differently from
what earlier JDKs expect.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-02 21:54:05 +02:00
Simone Bordet 06430f1b04 Issue #2868 - Adding SPNEGO authentication support for Jetty Client.
Restored behavior where authentication results are stored
no matter the response status.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-02 16:10:52 +02:00
Simone Bordet 9bb34f2758 Merged 'jetty-9.4.x' into 'jetty-9.4.x-2868-spnego_client'. 2018-10-02 15:17:41 +02:00
Simone Bordet 103b1292ea Fixed annotations on tests that should run on specific JDK versions.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-02 15:16:58 +02:00
Simone Bordet 6b5a46b63b Issue #2868 - Adding SPNEGO authentication support for Jetty Client.
Avoid hardcoded KDC port in tests.
Updated Krb5LoginModule options with refreshKrb5Config=true,
to make sure the KDC configuration is re-read for every test.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-02 12:01:25 +02:00
Simone Bordet 27efa6e2ad Issue #2868 - Adding SPNEGO authentication support for Jetty Client.
Added client-side classes javadocs.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-10-02 11:24:45 +02:00
Simone Bordet 2b11d30a45 Issue #2868 - Adding SPNEGO authentication support for Jetty Client.
Renamed server-side classes and added javadocs.
Deprecated old server-side classes in favor of the new ones.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-09-28 09:29:52 +02:00
Simone Bordet eb00e6c7c6 Merged branch 'jetty-9.4.x' into 'jetty-9.4.x-2868-spnego_client' 2018-09-28 08:59:46 +02:00
olivier lamy 5e8a7403d1 Merge branch 'jetty-9.4.x' into jetty-10.0.x 2018-09-22 20:11:03 +10:00
Simone Bordet e1905e6961 Issue #2868 - Adding SPNEGO authentication support for Jetty Client.
Updates after review.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-09-19 18:47:39 +02:00
Simone Bordet 2e65186c95 Issue #2868 - Adding SPNEGO authentication support for Jetty Client.
Implemented client-side SPNEGO authentication.
Reimplemented server-side SPNEGO authentication.
Added tests to verify behavior.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-09-14 19:48:39 +02:00
Joakim Erdfelt 00843c8ed9 Issue #2901 - Moving Http Upgrader to Http Conversation
+ Solves for Authentication and Redirect

Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-09-12 14:35:01 -05:00
olivier lamy a8e9a8a78b Merge branch 'jetty-9.4.x' into jetty-10.0.x 2018-09-11 14:21:49 +10:00
Joakim Erdfelt d237b5ca2f Fixing missed merge of ProxyConfigurationTest 2018-09-07 11:58:30 -05:00
Joakim Erdfelt bcb5da0224 Minor correction in JRE execution for SslBytesClientTest now that Java 12-ea's are out 2018-09-07 09:55:37 -05:00
Simone Bordet f3fb290b2a Fixed test to not run on JDK 11 due to TLS 1.3.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-09-06 11:29:14 +02: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
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
Simone Bordet 5b5f2fcf5f Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2018-08-27 10:29:12 +02:00
Ivanov Anton 6211564f79 Issue #2860 fix after review 2018-08-27 08:29:39 +03:00
Ivanov Anton 03c0d58727 Issue #2860 fix after review 2018-08-27 08:29:39 +03:00
Ivanov Anton 3d87265a0a Issue #2860 fix after review 2018-08-27 08:29:39 +03:00
Ivanov Anton a458bfaaf4 Issue #2860 fixes after review 2018-08-27 08:29:29 +03:00
Ivanov Anton 084d6ce443 Issue #2860 Fix leakage of HttpDestinations in HttpClient
Signed-off-by: Ivanov Anton <an.ivanov@corp.mail.ru>
2018-08-25 18:27:18 +03:00
Simone Bordet 33a1367325 Fixes #2821 - AuthenticationProtocolHandler should not always cache Authentication.Result.
Now the Result is cached only if getURI() returns non-null.
2018-08-24 17:32:58 +02:00
Greg Wilkins 5afe2e215f Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-08-23 17:17:46 +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
Joakim Erdfelt ce6bc23ccb Issue #2817 - Client SSL Defaults
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-08-16 14:35:39 -05:00
Simone Bordet dd428b24a7 Cosmetics and removed unused code.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-08-14 15:22:19 +02:00
WalkerWatch b249021b6d Merge branch 'jetty-9.4.x' into jetty-10.0.x 2018-08-07 21:18:25 -04: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
lachan-roberts a60a8b8678 Issue #2739 - AuthenticationProtocolHandler Multiple Challenge Pattern
add header info's upfront and mutate the param map instead of adding them lazily

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2018-08-06 17:39:26 +10:00
lachan-roberts f735c0427f Issue #2739 - AuthenticationProtocolHandler Multiple Challenge Pattern
process the param value with QuotedCSV.unquote()

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2018-08-06 17:30:47 +10:00
lachan-roberts 96f5773e4f Issue #2739 - AuthenticationProtocolHandler Multiple Challenge Pattern
Increased complexity of regex in order to use only one regex pattern and reworked state machine into simple for loop

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2018-08-06 11:42:52 +10:00
lachan-roberts 58f2b8f360 Issue #2739 - AuthenticationProtocolHandler Multiple Challenge Pattern
Splitting elements into list using QuotedCSV and processing with state machine instead of using regex to split into multiple challenges.

Signed-off-by: lachan-roberts <lachlan@webtide.com>
2018-07-31 19:26:10 +10:00
Lachlan Roberts 1373e90e32 Issue #2737 - Allow "=" characters in the AuthenticationProtocolHandler PARAM_PATTERN
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-07-19 21:26:59 +10: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 17b6eee5ac
Jetty 9.4.x 2233 ssl flush try again 2 (#2726)
Major refactor of SslConnection to address #2233 and to simplify in preparation for java-11 support.

Made the `needFillInterest` and `onIncompleteFlush` methods the primary stateful methods with state for fill and flush side that does not reproduce state already held by the SslEngine itself.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-07-18 10:11:35 +02: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
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 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
Simone Bordet f6be906caf Fixes #2621 - Test failure: HttpDestinationOverHTTPTest#test_Acquire_Process_Release_Acquire_ReturnsSameConnection().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-06-05 16:56:44 +02:00
Simone Bordet 09ee85a74f Fixes #2574 - Clarify max request queued exception message.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-06-01 17:07:20 +02:00
Lachlan Roberts 903803c30e Issue #2584 - changes from review
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-05-30 14:26:54 +10: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 b93cc5abb6 Issue #2549 ConsumeAll forced EOF or EarlyEOF
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-17 13:05:13 +10:00
Simone Bordet 744f9054b3 Fixes #2547 - Review usages of ServerSocket[Channel].accept().
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-16 18:40:10 +02:00
Greg Wilkins 621b946b10 Issue #2540 ignore flaky test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-05-16 14:09:22 +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 0374d40cae
Issue #2439 - Remove HTTP/2 data copy. (#2444)
* Issue #2439 - Remove HTTP/2 data copy.

Implemented reference counting for the network buffer, with the
semantic that calling succeeded() on callbacks decrements the
reference count.
Introduced interface Retainable, used by the client when notifying
multiple application content listeners.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-05-09 09:39:57 +02:00
Lachlan Roberts 04ae33c4ac Switched getHeaderInfo from recursion to iteration.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-25 16:09:55 +10:00
Lachlan Roberts 7adad0bdc6 Merge remote-tracking branch 'origin/jetty-9.4.x-1555-wwwAuthenticate-Parsing' into jetty-9.4.x-1555-wwwAuthenticate-Parsing 2018-04-24 11:28:44 +10:00
Lachlan Roberts fc5c438d72 Changes after review 1
Changed the base64 pattern to only accept token68 pattern from rfc7235#appendix-C
Add limit to recusion depth of multiple challange matching to stop any vulnerablilties related to malicious server overflowing client stack
Regex no longer allows trailing whitespace

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-24 11:16:31 +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
Lachlan adb844de64
Merge branch 'jetty-9.4.x' into jetty-9.4.x-1555-wwwAuthenticate-Parsing 2018-04-18 16:06:02 +10:00
Lachlan Roberts 5a1325949e Changes to allow for other formats specified in RFC7235
- Multiple challanges in the same header can now be parsed successfully.
    - Will now allow a base64 value after the auth-scheme instead of parameters. Which can be used for the Negotiate auth-scheme.
    - Added more in depth testing for tricky cases.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-18 16:02:33 +10:00
Lachlan Roberts 497b87eb2e Fixed bug with regex and style cleanup.
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-17 17:34:16 +10:00
Lachlan Roberts ee09904809 Reworked the way authentication parameters are parsed.
Removed the regex to separate out the realm parameter and instead parse it with the other parameters into HeaderInfo.

Changed HeaderInfo to store the parsed parameters as a Map instead of the un-parsed parameters in a string.

The parsing of the parameters is now done in AuthenticationProtocolHandler.newHeaderInfo(String) and then passed into the HeaderInfo instead of Parsing it in DigestAuthentication.

Replaced the usage of splitParams(String) with QuotedCSV used to parse the parameters.

Added test to check the ordering of parameters doesn't matter.

Allow not to have a realm parameter, changed DigestAuthentication.matches() to not match if realm is null, so that Digest Authentication requires realm parameter but any Basic Authentication can be done without it. There is currently no tests for this.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-17 17:04:44 +10:00
Lachlan Roberts 29dccf668c Changes after review 1
Regex will now look for comma and spaces before realm. Preventing issues accepting params with realm as a suffix like blahrealm.
Stops adding double commas when extracting realm param.

Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-12 10:33:47 +10:00
Lachlan Roberts bc4ad7c61a Changed regex for AUTHENTICATE_PATTERN so that the realm doesn't need to appear as first parameter. #1555
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-04-10 14:47:00 +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
Simone Bordet ef48bc6f58 Fixes #2388 - AtomicBiInteger.compareAndSet(long,int,int) not using encoded parameter.
Fixed method, added Javadocs and cleaned up code with a few renamings
to better comply with AtomicLong naming.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-28 00:37:21 +02: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
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
Simone Bordet 8251ed5a12
Fixes #2311 - TimeoutException when server sends unexpected content. (#2324)
Now exiting the parse loop when the response is complete; if there
are bytes remaining in the buffer, then it's cleared out.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-21 16:25:18 +01:00
WalkerWatch 534b8ea38b Add edit warning for .mod files. Resolves #173 2018-03-15 13:23:42 -04:00
Joakim Erdfelt 484280bac6 Issue #2218 - Windows Selector Bug
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2018-03-14 17:42:50 -05: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 cf0b6140fe
Merge pull request #2299 from olamy/feature/available_processors
#2298 Override the processor number with an environment variable
2018-03-08 08:36:52 +11: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
Simone Bordet b71cd70bf7 Fixes #2297 - HTTP/2 client transport should honor HttpClient.connectBlocking.
Introduced property connectBlocking in HTTP2Client so that it can
be forwarded by HttpClient and then used for HTTP/2 connects.

Also introduced HTTP2Client.bindAddress, again forwarded from HttpClient.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-07 11:52:28 +01:00
Greg Wilkins 74055b9837
Jetty 9.4.x 2293 pending multiplexed (#2294)
Issue #2293 Pending Multiplexed Connections

Added a AtomicBiInteger to allow both total connections and pending connections to be encoded in the
same atomic int.

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-07 19:31:22 +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
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
Simone Bordet 8fcfdd9d7f Fixes #2273 - Test failure: RoundRobinConnectionPoolTest.testRoundRobin.
Now making sure all connections are opened before testing
the round robin behavior.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-03-06 10:00:15 +01:00
Greg Wilkins a272fb6e39
Improve executorSizedThreadPool (#2253)
Improve executorSizedThreadPool (#2253)

* Improve executorSizedThreadPool

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

* Improved implementation.

Implemented name, thread priorities, thread group and daemon properties.
Implemented toString(), dump() and using a thread factory.

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

* added threadpool benchmark;

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

* Renamed ExecutorSizedThreadPool to ExecutorThreadPool

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-03-06 19:07:41 +11:00
Lachlan Roberts 31347db71b changes after second review from gregw
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
2018-03-06 17:21:15 +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
Simone Bordet cd7432da95 Issue #2238 - RoundRobinConnectionPoolTest.testRoundRobin test failure
Improved logging in case of test failures.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-02-27 18:49:23 +01:00
Joakim Erdfelt be64f322ad Issue #2217 adding parameter naming to help identify test run 2018-02-26 14:01:26 -06:00
Jesse McConnell cb67476de0
Resolves #2241 clean up javadoc warnings 2018-02-23 14:18:52 -06:00
Jesse McConnell d179bcf7ac
Resolves #2241 clean up javadoc warnings 2018-02-23 14:09:33 -06:00
Greg Wilkins b94d26a720 less fragile tests
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-02-20 10:19:32 +11:00
Jan Bartel 07b14b6454 Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-30 13:08:54 +01:00
Alex Bleasdale 8a17563e6b Fixes #2160 - Digest authentication should use absolute path
Modified uri value in Authorized header as per discussion in #2160.

Signed-off-by: Alex Bleasdale <ableasdale@marklogic.com>
Reviewed-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-29 10:04:44 +01: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 c606d5f103 Issue #2126 removed sleep from test
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-16 17:56:03 +01:00
Jan Bartel 709da5efc6 Issue #2126 2018-01-16 17:47:07 +01:00
Simone Bordet 0b3a276a9b
Fixes #2117 - Allow to configure HttpClient default request Content-Type (#2118)
* Fixes #2117 - Allow to configure HttpClient default request Content-Type.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-13 10:31:13 +01: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
Greg Wilkins 8b7480f088 Merge branch 'jetty-9.4.x' into jetty-9.4.x-2022-FineGrainedComplianceModes 2018-01-10 22:25:49 +01:00
Simone Bordet 6cefd1c7dd Issue #1918 - Scalable scheduler implementation.
Fixed destroy of HttpChannel for HTTP/1.1: not at release()
because the connection and therefore the channel will be reused,
but at close(), when we're sure the connection will not be reused.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-10 19:42:28 +01: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
Greg Wilkins 356bf2e06f
Issue #2046 - Graceful stop of connections (#2100)
* Clean up of actions (now updates) prior to #2046 fix
* prevent exceptions from termincating lifecycle doStop or destroy
* Refactored ManagedSelector stop to always close endpoints
* Fixed NPE if SelectorManager is already stopped
* refactored after review
* further simplifications after review
* Wait only for oshut endpoints
* Cleanup from review

Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-09 20:36:41 +01: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 54f49dec7d Merge branch 'jetty-9.4.x' into jetty-9.4.x-2022-FineGrainedComplianceModes 2018-01-09 13:32:19 +01:00
Greg Wilkins 45e3abbdcf Merge remote-tracking branch 'origin/jetty-9.4.x' into jetty-10.0.x 2018-01-09 13:17:32 +01:00
Greg Wilkins 88cf4603c5
Merge branch 'jetty-9.4.x' into bugfix/javadoc_fixes_2056 2018-01-08 21:31:48 +01: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
Greg Wilkins a81c1f3880 fixes after review
Signed-off-by: Greg Wilkins <gregw@webtide.com>
2018-01-08 16:09:22 +01:00
olivier lamy 1a49a6fb7e more javadoc fixes #2056
Signed-off-by: olivier lamy <olamy@webtide.com>
2018-01-08 12:28:12 +11:00
Simone Bordet 4606c773b1 Issue #2065 - Backport #347 to Jetty 9.2.x.
Fixed the mistake of resetting idleTimeoutStamp rather than
idleTimeoutGuard.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2018-01-05 10:47:39 +01: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
Greg Wilkins 12647f51e7 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-12-27 16:04:16 +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 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
Greg Wilkins c5fc35fa05 Merge branch 'jetty-9.4.x' into jetty-9.4.x-2022-FineGrainedComplianceModes 2017-12-23 11:12:48 +01:00
Simone Bordet 005ae95bea
Fixes #1949 - Client-side problems with digest authentication. (#1991)
Introduced ContentProvider.isReproducible() to detect whether the
request content can be provided more than once, and modified
ContentProvider implementation accordingly.

Modified AuthenticationProtocolHandler to not send an authenticated
request if the content is not reproducible.

Modified AuthenticationProtocolHandler to tolerate request failures.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-21 02:34:39 -08:00
WalkerWatch 05c3413907 Merge branch 'jetty-9.4.x' 2017-12-19 10:04:28 -05:00
Simone Bordet b68fbc4cfb Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-12-16 23:36:53 +01:00
Simone Bordet 37388ef105 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2017-12-16 23:28:05 +01:00
Simone Bordet eaa4c70cfc Issue #2065 - Backport #347 to Jetty 9.2.x.
Implemented as integer guard + timestamp.
The timestamp is not enough to guard against long times spent sending
(and/or in application callbacks during sends).
2017-12-16 22:25:59 +01:00
Simone Bordet ce4fad3deb Fixes #2065 - Backport #347 to Jetty 9.2.x. 2017-12-15 17:48:47 +01:00
Greg Wilkins c6c5a3b890 Merge branch 'issue-2022' of https://github.com/Baqend/jetty.project into jetty-9.4.x-2022-FineGrainedComplianceModes 2017-12-15 16:19:14 +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
WalkerWatch c5f7e2a523 Merge branch 'jetty-9.4.x' 2017-12-14 13:38:27 -05:00
Simone Bordet d3db89d7e3 Fixes #2019 - Expose HttpClientTransport in JMX.
Added missing @ManagedObject annotation to AbstractConnectorHttpClientTransport.

Also exported to JMX the "multiplexed" attribute for the FCGI transport
and the "useALPN" attribute for the HTTP/2 transport.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-14 12:28:46 +01:00
Simone Bordet ba5ed4c6ce Issue #2050 - Clarify ObjectMBean getObject[Name|Context]Basis() methods.
Clarified the role of the HttpClient name with respect to JMX.
Improved test case.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-14 11:24:43 +01:00
Simone Bordet f2bf3d63bc Fixes #2020 - Introduce a name for `HttpClient` instances.
Added HttpClientMBean, and overridden getObjectContextBasis() so that
the HttpClient name is inherited by children components such as the
HttpClientTransport, the ThreadPool, etc.

Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
2017-12-14 11:24:43 +01:00
Greg Wilkins bb0f06fecc Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-11-14 18:15:55 +01:00
Greg Wilkins c66bacba02 Issue #922 (#1965) bytesIn/Out stats
Ensure -1 fill is not appended to bytesIn counts
Don't include discarded bytes from head responses in counts
refactored gather writes in HttpConnection to be clearer and removed
redundant buffer checks
2017-11-14 09:12:00 +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
Simone Bordet 108d56707b Merged branch 'jetty-9.4.x' into 'master'. 2017-10-30 12:58:48 +01:00
Simone Bordet 333c22d670 Issue #1924 - ManagedSelector livelock.
* Actually using the MAX_ACTION_PERIOD value rather than a harcoded one.
* Waking up the selector outside the sync block.
2017-10-30 00:36:01 +01:00
Greg Wilkins 4fa2140d17 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-10-29 08:21:22 +11:00
Greg Wilkins ab849e8cc5 Issue #1920 - Connect Timeouts with NonBlocking CreateEndPoint.
Added a LiveLock (BusyBlocking) test.
Modified ManagedSelector to fair share between actions and selecting
2017-10-28 14:55:40 +11:00
Simone Bordet 52a585a2ea Merged branch 'jetty-9.4.x' into 'master'. 2017-10-25 11:23:00 +02:00
Simone Bordet 76e744979b Issue #1893 - Jetty HttpClient Connection TTL.
Removed test for TTL functionality.
Added test for the round robin behavior.
2017-10-25 11:22:46 +02:00
Simone Bordet 2cd04a1b17 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-25 11:03:17 +02:00
Simone Bordet 6e8242d1a4 Issue #1893 - Jetty HttpClient Connection TTL.
Removed the functionality, not needed anymore.
2017-10-25 11:02:33 +02:00
Simone Bordet 50d3aa9333 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-23 17:37:54 +02:00
Simone Bordet ddf074d78f Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-10-23 17:37:23 +02:00
Simone Bordet 4d8ab1828e Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2017-10-23 17:36:39 +02:00
Simone Bordet e449387158 Fixes #1914 - jetty client fails to parse response with RFC2045 conformant Content-Type: charset="utf-8". 2017-10-23 17:36:11 +02:00
Simone Bordet 01a5415796 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-19 17:48:10 +02:00
Simone Bordet 0d3827d882 Fixes #1893 - Jetty HttpClient Connection TTL.
Implemented live timeout on RoundRobinConnectionPool.
2017-10-19 17:47:35 +02:00
Simone Bordet d2fc88839c Added/fixed @ManagedObject annotation. 2017-10-19 17:47:35 +02:00
Simone Bordet 0ba9c56f85 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-16 18:24:27 +02:00
Simone Bordet 850e70f27c Fixes #1897 - Introduce a round-robin connection pool for HttpClient. 2017-10-16 18:21:36 +02:00
Simone Bordet 17df0bf930 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-11 17:39:45 +02:00
Simone Bordet 91c11f5a64 Fixes #1888 - Implement cookie matching on Path attribute.
Implemented path matching following RFC 6265.
2017-10-11 17:39:06 +02:00
Simone Bordet 14f7b03060 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-09 16:00:04 +02:00
Simone Bordet a436b9eb6c Fixes #1878 - Handle 100 Continue response without Expect header.
Fixed - again - accept().
2017-10-09 15:59:41 +02:00
Simone Bordet c26373783b Merged branch 'jetty-9.4.x' into 'master'. 2017-10-09 13:38:49 +02:00
Simone Bordet 6fd3351272 Fixes #1878 - Handle 100 Continue response without Expect header.
Fixed accept() to test for the response code being indeed 100.
2017-10-09 13:38:17 +02: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
Simone Bordet 22e9c5a7bf Merged branch 'jetty-9.4.x' into 'master'. 2017-10-03 10:19:41 +02:00
Simone Bordet a4d7b4c4dc Removed unnecessary code. 2017-10-03 10:19:06 +02:00
Simone Bordet bee383c894 Merged branch 'jetty-9.4.x' into 'master'. 2017-10-03 01:22:35 +02:00
Simone Bordet 3b98a6c000 Issue #1851 - Improve insufficient thread warnings/errors.
ThreadBudget -> ThreadPoolBudget.
Added selectors to the leased threads.
2017-10-02 13:40:31 +02:00
Simone Bordet 17a1484143 Code cleanups.
Removed unnecessary imports and fixed typos.
2017-10-02 11:43:45 +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
Simone Bordet d0d52c8ba1 Merged branch 'jetty-9.4.x' into 'master'. 2017-09-25 13:05:00 +02:00
Simone Bordet 6aafc3b792 Fixes #1845 - Allow null User-Agent in HttpClient. 2017-09-25 13:03:26 +02:00
Greg Wilkins 1b7ebf5599 Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-09-23 00:22:57 +10:00
Greg Wilkins a6f02c26a8 Issue #1509 Review GZIPContentDecoder buffer pooling
A temporary fix that uses a hueristic to limit the pool size.

Perhaps such a hueristic should be the default for the queue size of all ByteBufferPools, as infinite queue size is rarely going to be a good thing?

Also, I think all the pools need to have better javadoc, plus an upper/lower bound of the size of buffer that they will pool, as gzip will tend to ask for lots of random sized buffers to put the expanded data into, some could be very
large and unlikely to be reused.
2017-09-21 14:29:58 +10:00
Simone Bordet aa4a77794e Issue #212 - HttpClient to support pluggable AuthenticationStore.
AuthenticationStore must be initialized eagerly.
2017-09-14 13:00:52 +02:00
Simone Bordet ce9be291d3 Fixes #212 - HttpClient to support pluggable AuthenticationStore. 2017-09-14 11:29:39 +02:00
Simone Bordet c402f8d5fa Fixed test after #1804. 2017-09-11 17:03:22 +02:00
Simone Bordet b078c910a7 Code cleanup: replaced anonymous inner classes with lambdas. 2017-09-11 17:02:32 +02:00
Joakim Erdfelt 651f422034 Merge branch 'jetty-9.4.x' to 'master' 2017-08-18 10:54:58 -07:00
Simone Bordet 6c44538bb6 Fixes #1750 - PoolingHttpDestination creates ConnectionPool twice.
Now destinations needs to be started in tests, take 2.
2017-08-18 19:36:27 +02:00
Simone Bordet 7390707e07 Fixes #1750 - PoolingHttpDestination creates ConnectionPool twice.
Now destinations needs to be started in tests.
2017-08-17 16:37:13 +02:00
Simone Bordet 3b805123b8 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-08-17 11:47:56 +02:00
Simone Bordet bcf96517bd Fixes #1750 - PoolingHttpDestination creates ConnectionPool twice. 2017-08-17 11:42:56 +02:00
Simone Bordet c395097812 Fixes #1749 - Dump HttpDestination exchange queue.
Improved code.
2017-08-17 11:42:27 +02:00
Simone Bordet 2bfe6fa964 Fixes #1749 - Dump HttpDestination exchange queue. 2017-08-17 11:15:23 +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
Simone Bordet b1b569bd23 475546 - ClosedChannelException when connecting to HTTPS over HTTP proxy with CONNECT.
Not closing the connection if the request method is CONNECT.
2017-08-08 09:15:49 -07:00
Simone Bordet 8cfd971f92 JavaDoc clarification. 2017-08-08 09:15:14 -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
Simone Bordet be970de6db 475546 - ClosedChannelException when connecting to HTTPS over HTTP proxy with CONNECT.
Not closing the connection if the request method is CONNECT.
2017-08-02 22:29:28 +02:00
Simone Bordet 552b7c3e0e Merged branch 'jetty-9.4.x' into 'master'. 2017-07-24 11:19:04 +02:00
Simone Bordet 7b84df341f JavaDoc clarification. 2017-07-24 10:45:13 +02:00
Greg Wilkins f1146856ac Issue #1676 remove deprecated methods on HttpFields 2017-07-19 10:45:21 +02:00
Joakim Erdfelt a9c329859d Merge remote-tracking branch 'origin/jetty-9.4.x' 2017-07-12 13:18:12 -07:00
Simone Bordet 9d0bcdbce4 Fixes #1656 - Improve configurability of ConnectionPools.
Introduced ConnectionPool.Factory and HttpClientTransport.connectionPoolFactory.
This allows applications to create a ConnectionPool given the HttpDestination.
2017-07-04 11:24:53 +02:00
Greg Wilkins 380b7d21e9 Issue #1503 Optionally strip IPv6. Default true 2017-06-06 16:58:23 +02:00
Simone Bordet 1ac103b6ce Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-05-17 13:16:21 +02:00
Simone Bordet d53af5d737 Fixes #523 - TLS close behaviour breaking session resumption.
Since requests cannot be connection delimited, don't call
sslEngine.closeInbound() on the server.

On the client, added a configuration parameter to allow missing
TLS Close Message, since many servers do that.

Introduced SslConnection.allowMissingCloseMessage so that it
throws in case of truncation attacks.
2017-05-17 13:07:21 +02:00
Simone Bordet e7ac447d63 Fixes #1452 - Add tests for [want|need]ClientAuth. 2017-04-05 15:27:57 +02:00
Simone Bordet 7fc3dac5f3 Removed truststore.jks, not needed. 2017-04-05 15:27:57 +02:00
Simone Bordet c285d6f8bb Fixes #612 - Support HTTP Trailer.
Added support on both the server and the client, for HTTP/1 and HTTP/2.
2017-04-03 22:25:50 +02:00
Joakim Erdfelt 59c31a40e3 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2017-03-14 12:07:57 -07:00
Joakim Erdfelt f293f637c8 Issue #1394 - fix default character encoding for surefire testing 2017-03-13 11:10:10 -07:00
Joakim Erdfelt 01d539e2be Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2017-03-09 14:20:19 -07:00
Joakim Erdfelt d2e35e239a Windows Test Issue
+ Changing from @Test(expect=<exception>) to
  @Rule ExpectedException for ...
  * no exception occuring when one is expected is a test failure
  * wrong exception is a test failure
  * wrong cause is a test failure
2017-03-09 06:51:57 -07:00
Greg Wilkins 0a2da4822d Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2017-03-06 14:20:23 +11:00
Simone Bordet affeb67f1a Issue #1375 - Support pushed resources in HTTP client.
Implemented in the non-API HttpRequest class.
2017-03-05 19:01:08 +01:00
Carter Kozak 1a2bb90465 Issue #1309 Client GZIPContentDecoder uses client ByteBufferPool
Previously the GZIPContentDecoder would allocate a new buffer for
each gzip encoded response.

Signed-off-by: Carter Kozak <c4kofony@gmail.com>
2017-02-07 09:53:39 -05:00
Simone Bordet 7923032582 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-02-02 00:24:51 +01:00
Greg Wilkins 461c6082ae Issue #1296 - Introduce HTTP parser "content complete" event. 2017-02-01 23:54:36 +01:00
Simone Bordet 0c8273f2ca Happy New Year 2017. 2017-01-19 19:26:41 +01:00
Simone Bordet 07838b057f Happy New Year 2017. 2017-01-19 18:54:03 +01:00
Simone Bordet 347c48d657 Revert "resolve merge and update license headers"
This reverts commit 53b31b03dd, reversing
changes made to 4565c186d7.
2017-01-19 18:26:43 +01:00
Jesse McConnell 53b31b03dd resolve merge and update license headers 2017-01-19 09:33:16 -06:00
Jesse McConnell ce3e6dafec update license headers to 2017 2017-01-19 09:30:00 -06:00
Simone Bordet 3883b8cbb5 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-01-16 19:20:24 +01:00
Simone Bordet ddc63066fc Fixes #1259 - HostnameVerificationTest.simpleGetWithHostnameVerificationEnabledTest is broken.
When a fill() triggered by a flush() throws, now the write flusher is
failed rather than completed.
This ensures that both the read and the write side see the same
exception, rather than the write side seeing a ClosedChannelException.
2017-01-16 19:05:09 +01:00
Greg Wilkins 217d7af3d5 Issue #1259 ignoring broken test 2017-01-13 15:25:22 +11:00
Greg Wilkins 20ac50480c Re added the ERROR handling for #1242 2017-01-12 09:06:22 +11:00
Simone Bordet bc86ce4d09 Fixed tests and suppressed expected exceptions. 2017-01-12 09:05:09 +11:00
Greg Wilkins 0f3f051f0e Revert "Fixed tests and suppressed expected exceptions."
This reverts commit 77b1617fdd.
2017-01-12 08:55:35 +11:00
Simone Bordet 77b1617fdd Fixed tests and suppressed expected exceptions. 2017-01-10 15:54:37 +01:00
Simone Bordet d0930e1b9a Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2017-01-10 15:06:45 +01:00
Simone Bordet b8986d5812 Fixes #1228 - Internal error during SSL handshake.
Added a guard to avoid unwrapping during handshake if SSLEngine is
already closed.
2017-01-10 15:05:40 +01:00
Simone Bordet df51ebc029 Fixed test broken by #1172. 2016-12-22 11:14:48 +01:00
Greg Wilkins 68c8db635e ignored bad test 2016-12-22 18:27:15 +11:00
Simone Bordet 9c68bd44fa Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-12-20 16:17:14 +01:00
Simone Bordet a15f8964c4 Cleanups for #1172. 2016-12-20 16:15:35 +01:00
Konstantin Gribov 9657be1c72 Fixes #1171 - Jetty-client throws NPE for request to IDN hosts only when `HttpClient#send(...)` is called.
Added early check for null host when creating requests in HttpClient.
Added test for incorrect IDN redirect.

Signed-off-by: Konstantin Gribov <grossws@gmail.com>
Reviewed-by: Simone Bordet <simone.bordet@gmail.com>
2016-12-20 16:08:48 +01:00
Simone Bordet dd3a73e57a Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-12-14 11:19:49 +01:00
Joakim Erdfelt 9b609e0f6d Issue #1161 - Leaving CookieStore alone HttpClient and WebSocketClient are stopped
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
2016-12-14 09:00:12 +01:00
Joakim Erdfelt 646a411746 Fixing onUpgradeFrom buffer flip issue 2016-12-01 13:07:28 -07:00
Greg Wilkins 2ef23a6725 Issue #572
Improved to the toString and dump output of connections, endpoints and channel to assist with debugging
made the SSL callbacks and runnables Invocable to avoid thread starvation.
2016-11-23 16:58:35 +11:00
Simone Bordet 7716ada9dd Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-11-07 19:26:18 +01:00
Simone Bordet f82aa03300 Fixes #1078 - DigestAuthentication should use realm from server, even if unknown in advance. 2016-11-07 19:25:06 +01:00
Simone Bordet a51f77c390 Fixed compilation failure. 2016-11-04 12:19:48 +01:00
Simone Bordet 9760e0d4cd Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-11-04 12:10:10 +01:00
Simone Bordet 846d560b44 Fixes #905 - Jetty terminates SSL connections too early with Connection: close.
Requests with "Connection: close" are now closed only after the
request/response exchange has been terminated.
2016-11-04 12:09:44 +01:00
Simone Bordet 605aadba59 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-11-04 09:54:36 +01:00
Simone Bordet d18b900b75 Fixes #1069 - Host header should be sent with HTTP/1.0. 2016-11-04 09:53:22 +01:00
Greg Wilkins 5395cfd021 Issue#1066 Simplify HttpGeneration
HTTP requests cannot be close limited
2016-11-04 08:29:49 +11:00
Simone Bordet 3c3be877c6 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-11-03 14:22:23 +01:00
Simone Bordet fba901d156 Issue #1064 - HttpClient sets chunked transfer-encoding.
Fixed test assertion.
2016-11-03 14:21:40 +01:00
Simone Bordet 568d56caee Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-11-03 11:44:59 +01:00
Simone Bordet 7e903cfc6b Fixes #1064 - HttpClient sets chunked transfer-encoding.
Replaced the hint that there is a body by setting the Content-Type
header rather than the Transfer-Encoding header.
2016-11-03 11:40:45 +01:00
Greg Wilkins 6781a949b1 Issue#1066 Simplify HttpGeneration
Reduce the transformations needed on header fields, so they can be more often
set directly and no need to split and recombine.

The Content-Length field is added IF it is needed for framing or if it was explicitly set

The Transfer-Encoding: chunk field is used only as a hint that there is content.

Connection fields are used as is, but are checked for close and keep-alive
2016-11-03 16:55:33 +11:00
Simone Bordet f2061cbe60 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-10-06 16:33:58 +02:00
Sergiu Prodan 407111a796 Issue #295 Ensure Jetty Client use of Inflater calls .end() to avoid memory leak
Signed-off-by: Sergiu Prodan <p.sergiu92@gmail.com>
2016-10-06 16:12:53 +02:00
Sergiu Prodan f8b2979a8f Issue #295 Ensure Jetty Client use of Deflater calls .end() to avoid memory leak (#986)
* Issue #295 Ensure Jetty Client use of Inflater calls .end() to avoid memory leak

Signed-off-by: Sergiu Prodan <p.sergiu92@gmail.com>
2016-10-06 16:10:37 +02:00
Greg Wilkins 98bb582d45 Jetty 9.4.x http interceptor #382
* Issue #382 Request compression

Added identity HttpInput.Interceptor
Moved GZIPContentDecoder to jetty-http
Reworking interceptor and GZIPContentDecoder to avoid data copies
Completed and tested GZIPContentDecoder
Implemented GzipHttpInputInterceptor
updated GzipHandler.java
updated gzip module
use common GZIP decoder
Gzip Bomb
handle read() after empty interception
2016-10-05 13:49:20 +11:00
Simone Bordet 04604166bc Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-26 15:04:47 +02:00
Simone Bordet 94137583f8 Added assumption to make test more robust. 2016-09-26 15:04:21 +02:00
Simone Bordet 716c595cdf Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-26 12:20:22 +02:00
Simone Bordet 777ed6ad64 Fixes #277 - Proxy servlet does not handle HTTP status 100 correctly.
Introduced overridable ContinueProtocolHandler.onContinue(), and
making sure that proxy servlets use a ContinueProtocolHandler
subclass to intercept 100 Continue responses from the server, so that
they can relay it properly to the client.
2016-09-26 12:05:03 +02:00
Simone Bordet f3751da475 Fixes #955 - Response listeners not invoked when using Connection.send(). 2016-09-23 17:04:11 +02:00
Simone Bordet 9551d0f62b Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-22 21:57:12 +02:00
Andriy Rosa a9ef53b6d0 Fix HttpClient#copyRequest (#937)
Make HttpClient#copyRequest to copy custom headers with the same values.

When original request contains some custom header, say `X-Custom`, than
HttpHeader object within a HttpField will be `null`. In such case
`newRequest.getHeaders().contains(field.getName(), value)` check returns
true when there are 2 and more custom headers with the same value. As a result
not all the custom headers are being copied to the new request.

Signed-off-by: Andriy Rosa <andriyrosa@gmail.com>
2016-09-22 21:27:59 +02:00
Simone Bordet 61cd8d5379 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-14 18:13:12 +02:00
Simone Bordet ed14641e87 Made test more robust. 2016-09-14 18:12:34 +02:00
Simone Bordet 5ec60a30ed Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-14 16:44:39 +02:00
Simone Bordet 571b0c74c5 Implemented PromiseWrapper's succeeded() and failed() methods. 2016-09-14 14:01:30 +02:00
Simone Bordet 448100ff80 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-09-06 12:02:01 +02:00
Simone Bordet 6d485b2777 Fixes #902 - Expect: 100-Continue does not work with HTTP/2.
Improved handling of the 100 status code in both client and server.
2016-09-06 12:01:24 +02:00
Greg Wilkins 5ab9846ac5 Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-08-31 20:32:54 +10:00
Greg Wilkins f856107301 Merge remote-tracking branch 'origin/jetty-9.2.x' into jetty-9.3.x 2016-08-31 19:05:57 +10:00
Greg Wilkins 0155ae761c Issue #880 Improve IPv6 support
For #880 added the HostPort class, which was used to fix #878, #879, #884 and #886
2016-08-31 16:46:11 +10:00
Simone Bordet a4a97a0257 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-17 22:11:44 +02:00
Simone Bordet bef4b56fc0 Fixes #806 - Jetty HttpClient authentication - missing any realm option.
Introduced Authentication.ANY_REALM constant to use when specifying
the realm in concrete subclasses, so that the realm match is skipped.
2016-08-17 22:10:59 +02:00
Simone Bordet c42212d7b0 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-12 00:08:12 +02:00
Simone Bordet 7041e5102d Fixes #827 - HTTPClient fails connecting to HTTPS host through an HTTP proxy w/authentication.
Using https scheme in CONNECT request if the proxy is secure.
A Proxy must not match its own address.
Resolved correctly request URI in case of CONNECT requests.
2016-08-11 19:25:41 +02:00
Simone Bordet 9b6c9438a7 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-08-10 18:37:24 +02:00
Simone Bordet 2eec2251ee Fixes #827 - HTTPClient fails connecting to HTTPS host through an HTTP proxy w/authentication.
Only successful (200) responses to a CONNECT behave like HEAD and
implicitly have no body.
2016-08-10 18:36:27 +02:00
Simone Bordet 823ba4add6 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-21 18:15:38 +02:00
Simone Bordet 6a15bbfb2b Issue #751 - Remove usages of ArrayQueue. 2016-07-21 17:55:48 +02:00
Simone Bordet 6adb5eb031 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-07-15 18:12:02 +02:00
Simone Bordet a3b5e7ebb7 Added guards against NPE in case HttpField.getValue() returns null. 2016-07-15 15:45:50 +02:00
Simone Bordet 0d5fb1812e Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-22 11:27:56 +02:00
Simone Bordet 72393bc666 Fixes #659 - CONNECT request fails spuriously.
Fixed by properly returning true from messageComplete() in case of
a 101 response or a 200 CONNECT response.
2016-06-22 11:27:28 +02:00
Simone Bordet a07461f4bd Code cleanups. 2016-06-22 11:27:28 +02:00
Simone Bordet b3fda0b733 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-20 23:11:16 +02:00
Simone Bordet 7ef22c8ebd Fixes #648 - Problem using InputStreamResponseListener to handle HTTP/2 responses.
The fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=484446
reimplemented InputStreamResponseListener using callbacks rather than
blocking waits.

However, HTTP/2 behaves a little differently than HTTP/1.
Where in HTTP/1 until the callback was completed no further calls to
onContent() were made, with HTTP/2 additional calls are made until
the flow control window is exhausted.

For this reason InputStreamResponseListener must queue content chunks
rather than dealing only with one chunk at a time.
2016-06-20 23:10:44 +02:00
Simone Bordet a565b6fa83 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-14 11:09:02 +02:00
Simone Bordet 35077c9803 Increased timeouts to avoid failures on slower machines. 2016-06-14 11:08:38 +02:00
Greg Wilkins 86e5b1cf9b Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-06-08 16:48:50 +10:00
Greg Wilkins d458d41632 more generous unit test timeouts 2016-06-08 16:48:19 +10:00
Simone Bordet 85b3459af5 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-03 18:03:29 +02:00
Simone Bordet c05e265c5b Moved scheme checks to the right place. 2016-06-03 17:57:59 +02:00
Greg Wilkins 98c328fb23 Jetty 9.4.x 572 (#614)
* Issue #572 Scheduling Strategy Deadlocks

Implemented dual strategy idea from #572 discussion

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

* fixed http2 strategy choice

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

* code cleanups

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

* clean up seelctor actions/products

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

* cleanups
2016-06-03 09:07:00 +10:00
Greg Wilkins e1b551c2ae Merge remote-tracking branch 'origin/jetty-9.3.x' into jetty-9.4.x 2016-06-02 08:04:56 +10:00
Simone Bordet 059fbaa1d6 Removed @Ignore from a passing test. 2016-06-01 11:56:49 +02:00
Simone Bordet 8956245026 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-06-01 10:48:57 +02:00
Greg Wilkins 7d6c05b5c0 Issue #610 Ignore failing test 2016-06-01 17:46:04 +10:00
Simone Bordet b912c700ee Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-25 19:27:46 +02:00
Simone Bordet f3a805887e Fixes #542 - Support Connection.Listener bean on clients.
Introduced ClientConnectionFactory.customize() to look for
Connection.Listener beans.
ClientConnectionFactory implementation calls customize() when they
create a Connection instance, so the Connection.Listener beans are
registered onto the Connection.
2016-05-25 19:27:08 +02:00
Simone Bordet 016a7b72a1 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-24 16:10:00 +02:00
Simone Bordet ddddc3a675 Fixes #574 - Introduce a TLS handshake completed listener.
Introduced class SslHandshakeListener that can be registered as a
bean in both the ServerConnector and in clients such as HttpClient
and HTTP2Client.

When creating SslConnection instances, the factory will query the
connector (client or server) for SslHandshakeListener beans and, if
present, will be added to the SslConnection.
2016-05-24 16:09:19 +02:00
Simone Bordet 5fe1ff697e Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-24 12:42:12 +02:00
Simone Bordet d73c60db14 Issue #464 - Improve reporting of SSLHandshakeException. 2016-05-24 11:15:18 +02:00
Simone Bordet b1ebcf9139 Using lambdas instead of anonymous inner classes. 2016-05-24 11:15:18 +02:00
Simone Bordet a37a0c18c3 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-19 15:49:14 +02:00
Simone Bordet 89531a81be Fixed test. 2016-05-19 15:48:50 +02:00
Simone Bordet 922319c3a3 Merged branch 'jetty-9.3.x' into 'jetty-9.4.x'. 2016-05-12 19:30:50 +02:00
Simone Bordet e25cca33e7 Fixes #571 - AbstractAuthentication.matchesURI() fails to match scheme. 2016-05-12 19:03:52 +02:00
Simone Bordet cd2c2a6b98 Issue #560 - Jetty Client Proxy Authentication does not work with HTTP Proxy tunneling.
Small refactoring.
2016-05-12 19:03:18 +02:00
Simone Bordet 242b6b5f66 Merged branch 'jetty-9.2.x' into 'jetty-9.3.x'. 2016-05-12 18:59:40 +02:00
Simone Bordet f3675dbad7 Fixes #560 - Jetty Client Proxy Authentication does not work with HTTP Proxy tunneling.
The issue was related to the fact that the proxy responded 407 with a
Connection: close header.

Because the endPoint underlying the original connection was closed,
it should not have been used as a tunnel.
Rather, the endPoint of the new CONNECT attempt (with the proxy
credentials) must be used for the tunnel.

Also partially backported the fix for #408.
2016-05-12 17:19:04 +02:00
Simone Bordet 1056536155 Moved HttpClientLoadTest to "tests" module to test all transports. 2016-05-06 17:10:46 +02:00
Simone Bordet e2f252f817 Merged branch 'jetty-9.3.x' into 'master'. 2016-04-11 19:39:04 +02:00
Simone Bordet f0a1ccf4d3 Fixes #504 - HTTP/2 client transport cannot send request after idle timeout.
Made sure that the idle timeout mechanism notifies the destination
that the connection will close.

Also reviewed the close protocol to be: notify destination, then abort,
then close. In this way, HTTP/2 can send RST_STREAM before the
connection is closed.
2016-04-11 19:15:17 +02:00
Simone Bordet 11242ae1ec Fixes #503 - Wrong request-per-connection counting in MultiplexHttpDestination in case of failures. 2016-04-11 19:15:17 +02:00
Simone Bordet ac4ee8fec4 Ignoring tests that connect to external sites. 2016-04-11 19:15:17 +02:00
Simone Bordet 5aef3ba3e4 Merged branch 'jetty-9.3.x' into 'master'. 2016-04-04 15:41:04 +02:00
Simone Bordet 5c147288ef Fixes #481 - Event response.success notified without waiting for content callback for HTTP/2 transport.
Fixed by notifying the response.success event only when the callback
is succeeded.
2016-04-04 15:40:25 +02:00
Simone Bordet 1806744bf7 Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 22:04:44 +02:00
Simone Bordet 3fb06cca21 Issue #476 - HttpClient should not send absolute-form target with non HttpProxy.
Fixed test case.
2016-04-01 22:04:15 +02:00
Simone Bordet 68a465d7a3 Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 19:50:26 +02:00
Simone Bordet aac9f70243 Fixes #476 - HttpClient should not send absolute-form target with non HttpProxy.
Now only sending absolute-form in case of HttpProxy.
2016-04-01 17:46:22 +02:00
Simone Bordet cdcde53c6b Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 14:44:50 +02:00
Simone Bordet ce04cadb79 Fixes #233 - Add message to idle TimeoutException. 2016-04-01 14:44:26 +02:00
Simone Bordet 1146bce95e Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 14:29:38 +02:00
Simone Bordet 4aa512e468 Issue #184 - Empty Realm for BasicAuthentication.
Fixed by allowing empty realms.
2016-04-01 14:29:11 +02:00
Simone Bordet 650587ec0a Merged branch 'jetty-9.3.x' into 'master'. 2016-04-01 12:48:09 +02:00
Simone Bordet c8fea46e8f Issue #450 - Client AuthenticationProtocolHandler sends request failures to response failure listener.
Fixed by properly forwarding response success in case only the
request failed.
2016-04-01 12:46:12 +02:00