Fixed IllegalStateException by handling NEED_UNWRAP for the CLOSED
state in fill().
The EOFException does not seem to be an issue with the client.
Also removed an unneeded catch block and an empty if statement.
+ HttpTester, a testing class, was used by jetty-servlets,
embedded-jetty-examples, and test-integration, all from
those testing scopes. Moved the HttpTester into the
pre-existing jetty-http "tests" classified artifact.
+ Adding more varieties of server side collection vs wrapper with error
handlers
+ Adding servlet version of tests to demonstrate behavior in servlet
context, when also using the mapped error handler
+ Adding SecuredRedirectHandler as option for those jetty embedded folks
to have a simple http -> https solution (can even be setup and bound
to specific connectors via the named virtualhosts concepts)
+ Since SCI adds filters, but init() isn't run till later, that means
the context attribute for the WebSocketUpgradeFilter isn't present
during jsr356 runs. Added ability for manual filter creation to call
setToAttribute() as a pre-init step, allowing the init() itself to
bypass the set to attribute for that specific filter instance.
+ This also means ServletException is now thrown out from the
various configureContext() static methods.
+ After talking it through with Simone, swapping out 'global' init-param
with a bit more robust 'contextAttributeKey' to handle the automatic
context.setAttribute() of the filter itself.
As simply having a filter in the web.xml makes it alive, but nothing
is wired up into it, and accessing the filter instance via the
context metadata seems impossible. So we made the init-param for
'contextAttributeKey' important and required, but with defaulting
and validation checks.
+ Making key also work inside of WEB-INF/web.xml via context params
+ Making WebSocketUpgradeFilter generic enough to be used in a
web.xml descriptor
+ Adding global={bool} init-param on WebSocketUpgradeFilter to aid
library developers and end users more ways to tweak the filter
order
+ Fixing #!/usr/bin/env bash
(it had extra spaces at end which breaks env lookup on cygwin)
+ Using cygpath -w liberally to allow java started from cygwin
to find resources using windows specific path names.
+ Fixing onOpen context classloader to be that of the context
that started the WebSocketUpgradeFilter (which will be the
same as the WebAppContext in most cases)