diff --git a/jetty-http3/http3-client/src/main/java/org/eclipse/jetty/http3/client/internal/HTTP3StreamClient.java b/jetty-http3/http3-client/src/main/java/org/eclipse/jetty/http3/client/internal/HTTP3StreamClient.java index 8539d078ec25..b2d31bb71869 100644 --- a/jetty-http3/http3-client/src/main/java/org/eclipse/jetty/http3/client/internal/HTTP3StreamClient.java +++ b/jetty-http3/http3-client/src/main/java/org/eclipse/jetty/http3/client/internal/HTTP3StreamClient.java @@ -52,11 +52,11 @@ public void onResponse(HeadersFrame frame) MetaData.Response response = (MetaData.Response)frame.getMetaData(); boolean valid; if (response.getStatus() == HttpStatus.CONTINUE_100) - valid = validateAndUpdate(EnumSet.of(FrameState.INITIAL), FrameState.CONTINUE); + valid = validateAndUpdate(EnumSet.of(FrameState.INITIAL), FrameState.INFORMATIONAL); else if (response.getStatus() == HttpStatus.EARLY_HINT_103) - valid = validateAndUpdate(EnumSet.of(FrameState.INITIAL, FrameState.HEADER, FrameState.CONTINUE), FrameState.CONTINUE); + valid = validateAndUpdate(EnumSet.of(FrameState.INITIAL, FrameState.HEADER, FrameState.INFORMATIONAL), FrameState.INFORMATIONAL); else - valid = validateAndUpdate(EnumSet.of(FrameState.INITIAL, FrameState.CONTINUE), FrameState.HEADER); + valid = validateAndUpdate(EnumSet.of(FrameState.INITIAL, FrameState.INFORMATIONAL), FrameState.HEADER); if (valid) { notIdle(); diff --git a/jetty-http3/http3-common/src/main/java/org/eclipse/jetty/http3/internal/HTTP3Stream.java b/jetty-http3/http3-common/src/main/java/org/eclipse/jetty/http3/internal/HTTP3Stream.java index 3cdafba2a699..ed6dbd3857dd 100644 --- a/jetty-http3/http3-common/src/main/java/org/eclipse/jetty/http3/internal/HTTP3Stream.java +++ b/jetty-http3/http3-common/src/main/java/org/eclipse/jetty/http3/internal/HTTP3Stream.java @@ -315,7 +315,7 @@ public String toString() protected enum FrameState { - INITIAL, CONTINUE, HEADER, DATA, TRAILER, FAILED + INITIAL, INFORMATIONAL, HEADER, DATA, TRAILER, FAILED } private enum CloseState diff --git a/jetty-http3/http3-common/src/main/java/org/eclipse/jetty/http3/internal/HTTP3StreamConnection.java b/jetty-http3/http3-common/src/main/java/org/eclipse/jetty/http3/internal/HTTP3StreamConnection.java index e15895e4503d..d7d3de5e3df7 100644 --- a/jetty-http3/http3-common/src/main/java/org/eclipse/jetty/http3/internal/HTTP3StreamConnection.java +++ b/jetty-http3/http3-common/src/main/java/org/eclipse/jetty/http3/internal/HTTP3StreamConnection.java @@ -486,18 +486,18 @@ public void onHeaders(long streamId, HeadersFrame frame) else if (metaData.isResponse()) { MetaData.Response response = (MetaData.Response)metaData; - if (response.getStatus() != HttpStatus.CONTINUE_100 && response.getStatus() != HttpStatus.EARLY_HINT_103) + if (HttpStatus.isInformational(response.getStatus())) { - // Expect DATA frames now. - parserDataMode = true; - parser.setDataMode(true); if (LOG.isDebugEnabled()) - LOG.debug("switching to parserDataMode=true for response {} on {}", metaData, this); + LOG.debug("staying in parserDataMode=false for response {} on {}", metaData, this); } else { + // Expect DATA frames now. + parserDataMode = true; + parser.setDataMode(true); if (LOG.isDebugEnabled()) - LOG.debug("staying in parserDataMode=false for response {} on {}", metaData, this); + LOG.debug("switching to parserDataMode=true for response {} on {}", metaData, this); } } else diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java b/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java index 620b319ef28f..7d327cbfb92e 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/Response.java @@ -523,7 +523,7 @@ public void sendProcessing() throws IOException * Send a 103 response as per RFC8297 * This method is called by sendError if it is passed 103. * - * @throws IOException if unable to send the 102 response + * @throws IOException if unable to send the 103 response * @see javax.servlet.http.HttpServletResponse#sendError(int) */ public void sendEarlyHint() throws IOException