jetty.project
jetty.project copied to clipboard
Review 100 continue handling in Jetty 12
Description
There are some failing tests for HTTP 100 continue handling in org.eclipse.jetty.ee10.test.rfcs.RFC2616BaseTest.
This test currently is testing only a core handler but is in ee10 tests, so either needs to be updated to test ee10 code or moved to some core test module.
The logic for 100 continue seems to be both in ServletChannel, and the HttpStream implementations (do we need both), and some left in the ee9 nested HttpChannel. There is also some code for this in ProxyHandler, ProxyServlet, AsyncMiddleManServlet which could be reviewed as well.
Failing tests in org.eclipse.jetty.ee10.test.rfcs.RFC2616BaseTest are:
test82ExpectNormaltest times out reading the socket to the servertest82ExpectInvalidserver sends response with status0instead of417test82UnexpectWithBodytest expects aConnection: closeheader but none is sent
Tests have been @Disabled with comment //TODO https://github.com/eclipse/jetty.project/issues/9206
The problem is the HttpTesting class, which IMHO should be totally removed in favor of the other available ways of reliably parse HTTP/1.1, in particular HttpTester.
It's the tests that are broken, as 100-continue is well tested in core and eeN and even in the case of proxying.
This issue has been automatically marked as stale because it has been a full year without activity. It will be closed if no further activity occurs. Thank you for your contributions.
Let's fix these tests in 12.1.0 and stop kicking the can along the road.