removed HttpOutput.close(Closeable) method as IO.close(Closeable) should be used instead
added isFailed() method to WriteFlusher and used it to fix WriteFlusherTest.testFailWhileBlocking()
surrounded usage of onError() in HttpOutput.run() with try-finally so that IO.close(this) is executed if onError throws
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
* 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>
changed write flusher to go from pending state to failed state
reverted previous HttpOutput changes
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
* use a single instance of the class TestGetContent.java #2600
* make the jetty.port file creation atomic
* enforce some tests
* ensure we use the correct java home to run invoker plugin, yes this should fail on ci for jdk9+
* use an other maven home for invoker runs
* include failsafe-reports from maven invoker plugin
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
* Adding test case to verify existing PathResource behavior
* Skipping Resource class usage in OSGi entirely
* Only using the URL class, and removing of conversions to
other more correct forms (File and URI)
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
Introduced ProcessorUtils.setAvailableProcessor(int) to allow
usage in embedded code without resorting to system properties.
Refactored the static initializer to be testable.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Now newly created threads set _lastShrink to avoid they are immediately
removed from the pool if they happen to meet the shrink conditions.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Removed duplicate test.
Removed lines that were testing unreliable TCP behavior.
Fixed retrieval of EndPoint in case of SSL.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
When an entry that is too large for the dynamic table is added, the entire table should be evicted as per the RFC. Previously we were throwing a 431 Bad Message. This will require that the OP should retest #1134.
Signed-off-by: Greg Wilkins <gregw@webtide.com>
1. The virtual method to stop fillInStackTrace() from being called by the
constructor has been removed.
2. The public no argument constructor for MultiException puts the class
into a builder mode where it just lets you add exceptions.
MultiException created from the constructor should not be thrown because
fillInStackTrace() is not called.
3. In the `ifExceptionThrow*()` methods a new `MultiException` is
created, with the stack trace filled, before it is thrown.
Signed-off-by: Luke Butters <lbutters@funnelback.com>