jetty.project icon indicating copy to clipboard operation
jetty.project copied to clipboard

Review 100 continue handling in Jetty 12

Open lachlan-roberts opened this issue 2 years ago • 5 comments

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.

lachlan-roberts avatar Jan 25 '23 05:01 lachlan-roberts

Failing tests in org.eclipse.jetty.ee10.test.rfcs.RFC2616BaseTest are:

  • test82ExpectNormal test times out reading the socket to the server
  • test82ExpectInvalid server sends response with status 0 instead of 417
  • test82UnexpectWithBody test expects a Connection: close header but none is sent

Tests have been @Disabled with comment //TODO https://github.com/eclipse/jetty.project/issues/9206

janbartel avatar Jan 25 '23 05:01 janbartel

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.

sbordet avatar Jan 26 '23 13:01 sbordet

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.

github-actions[bot] avatar Jan 27 '24 00:01 github-actions[bot]

Let's fix these tests in 12.1.0 and stop kicking the can along the road.

gregw avatar May 26 '24 22:05 gregw