Fixes#306 - Merge jetty-parent into jetty-project.
- Removed jetty.parent dependency, moving all relevant sections to
jetty.project's pom.xml.
- Introduced profiles for JDK 8 only modules and configuration, and
for JDK 9 only modules and configurations.
- Major cleanup of pom.xml files.
- All Maven Plugin now declared in alphabetical order in
pluginManagement section of jetty.project's pom.xml.
* FastFileServer throws exception on any GET file due to wrong Content-Length value
Any GET file request, e.g. curl http://localhost:8080/pom.xml
results in FastFileServer returning a "HTTP/1.1 500 Server Error".
The root-cause for the error is the following line in handle()
response.setDateHeader("Content-Length", file.length());
which attempts to set the content-length header using a date-function.
Explicitly setting the response Content-Length in servlet-code.
Signed-off-by: Hauke Wulff <hauk3wu1ff@gmail.com>
Reviewed-by: Simone Bordet <simone.bordet@gmail.com>
The HttpOutput class was throwing an ISE if it was dispatched when PENDING
or UNREADY. However this can occur when it has been dispatched, but a prior call
to onDataAvailable() does output after calling isReady().
The HttpOutput now does not enforce that part of the state machine and defers to
the application correctly calling isReady()
The Loader has been simplified to now just be a switch between loading from the context loader,
the same loader as another class or the system loader. Multiple loaders will never be tried.
A new runWithServerClassAccess(PriviledgedAction) method has been added to WebAppClassLoader, that
is now used during configuration for actions that need access to both the WEB-INF/lib classes and
the server classes (eg jetty-web.xml and env.xml).
The JMX MBean mechanism has also been modified to look for an MBean class in the same loader that
object came from before attempting the context loader (only if different).