14f94f738d
* Issue #5605 unconsumed input on sendError Add Connection:close if content can't be consumed during a sendError. Processed after the request has returned to the container. Signed-off-by: Greg Wilkins <gregw@webtide.com> * Update from review + Add close on all uncommitted requests when content cannot be consumed. * Update from review + fixed comment + space comma * Only consume input in COMPLETE if response is >=200 (ie not an upgrade or similar) * Updated to be less adventurous I do not think it was valid to always consumeAll in COMPLETE as this could break upgrades with both 101s and 200s Instead I have reverted to having this consumeAll logic only: + in sendError once control has passed back to the container and we are about to generate an error page. + in front of all the sendRedirection that we do without calling the application first. Extra tests also added * Updated to be less adventurous reverted test * Testcase for odd sendError(400) issue. Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com> * Fix for odd sendError(400) issue. Signed-off-by: Simone Bordet <simone.bordet@gmail.com> * Testcase for odd sendError(400) issue. Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com> * Always try to consumeAll on all requests * Refinements after testing in 10 * Refinements after testing in 10 Fixed test * Fixed comment from review * Updates from review + added redirect methods that consumeAll + ensureContentConsumedOrConnectionClose renamed to ensureConsumeAllOrNotPersistent + ensureConsumeAllOrNotPersistent now handles HTTP/1.0 and HTTP/1.1 differently * better consumeAll implementation * update from review + better javadoc + filter out keep-alive + added more tests * update from review + better javadoc * update from review + fixed form redirection test for http 1.0 and 1.1 * update from review + HttpGenerator removes keep-alive if close present + Use isRedirection Co-authored-by: Joakim Erdfelt <joakim.erdfelt@gmail.com> Co-authored-by: Simone Bordet <simone.bordet@gmail.com> |
||
---|---|---|
.github | ||
LICENSE-CONTRIBUTOR | ||
advisories | ||
aggregates | ||
apache-jsp | ||
apache-jstl | ||
build-resources | ||
examples | ||
jetty-alpn | ||
jetty-annotations | ||
jetty-ant | ||
jetty-bom | ||
jetty-cdi | ||
jetty-client | ||
jetty-continuation | ||
jetty-deploy | ||
jetty-distribution | ||
jetty-documentation | ||
jetty-fcgi | ||
jetty-gcloud | ||
jetty-hazelcast | ||
jetty-home | ||
jetty-http | ||
jetty-http-spi | ||
jetty-http2 | ||
jetty-infinispan | ||
jetty-io | ||
jetty-jaas | ||
jetty-jaspi | ||
jetty-jmh | ||
jetty-jmx | ||
jetty-jndi | ||
jetty-jspc-maven-plugin | ||
jetty-maven-plugin | ||
jetty-memcached | ||
jetty-nosql | ||
jetty-openid | ||
jetty-osgi | ||
jetty-plus | ||
jetty-proxy | ||
jetty-quickstart | ||
jetty-rewrite | ||
jetty-runner | ||
jetty-security | ||
jetty-server | ||
jetty-servlet | ||
jetty-servlets | ||
jetty-spring | ||
jetty-start | ||
jetty-unixsocket | ||
jetty-util | ||
jetty-util-ajax | ||
jetty-webapp | ||
jetty-websocket | ||
jetty-xml | ||
logos | ||
scripts | ||
tests | ||
.gitattributes | ||
.gitignore | ||
CONTRIBUTING.md | ||
Jenkinsfile | ||
Jmh_Jenkinsfile | ||
KEYS.txt | ||
LICENSE | ||
NOTICE.txt | ||
README.md | ||
VERSION.txt | ||
header-template-doc.txt | ||
header-template-java.txt | ||
pom.xml |
README.md
Eclipse Jetty Canonical Repository
This is the canonical repository for the Jetty project, feel free to fork and contribute now!
Submitting a patch or pull request?
Make sure you have an Eclipse Contributor Agreement (ECA) on file.
Project description
Jetty is a lightweight highly scalable java based web server and servlet engine. Our goal is to support web protocols like HTTP, HTTP/2 and WebSocket in a high volume low latency way that provides maximum performance while retaining the ease of use and compatibility with years of servlet development. Jetty is a modern fully async web server that has a long history as a component oriented technology easily embedded into applications while still offering a solid traditional distribution for webapp deployment.
Documentation
Project documentation is available on the Jetty Eclipse website.
Building
To build, use:
mvn clean install
The Jetty distribution will be built in jetty-distribution/target/distribution
.
The first build may take a longer than expected as Maven downloads all the dependencies.
The build tests do a lot of stress testing, and on some machines it is necessary to set the file descriptor limit to greater than 2048 for the tests to all pass successfully.
It is possible to bypass tests by building with mvn clean install -DskipTests
.
Professional Services
Expert advice and production support are available through Webtide.com.