Class Http3ResponseWriter

java.lang.Object
org.mockserver.responsewriter.ResponseWriter
org.mockserver.netty.http3.Http3ResponseWriter
All Implemented Interfaces:
StreamErrorWriter

public class Http3ResponseWriter extends ResponseWriter implements StreamErrorWriter
A ResponseWriter that serialises the MockServer HttpResponse as HTTP/3 frames and writes them to a QUIC stream channel.

This allows the standard request-processing pipeline (HttpState, HttpActionHandler) to write responses identically regardless of whether the request arrived via HTTP/1.1, HTTP/2, or HTTP/3.

Streaming support: when the response carries a StreamingBody (SSE, chunked proxy forwarding, LLM streaming), the headers are sent immediately and each chunk is forwarded as an HTTP/3 DATA frame. The QUIC stream output is shut down when the stream completes. Backpressure is implemented via StreamingBody.requestMore(): each chunk write completion triggers the next upstream read.

  • Constructor Details

    • Http3ResponseWriter

      public Http3ResponseWriter(Configuration configuration, MockServerLogger mockServerLogger, io.netty.channel.ChannelHandlerContext ctx)
  • Method Details

    • writeStreamError

      public void writeStreamError(long errorCode)
      Reset the QUIC stream with the supplied HTTP/3 error code (RESET_STREAM, RFC 9114 section 4.1). Only this request stream is reset; other streams on the QUIC connection are unaffected. No ByteBuf is allocated, so there is nothing to release.
      Specified by:
      writeStreamError in interface StreamErrorWriter
      Parameters:
      errorCode - the application/stream error code to send on the reset
    • sendResponse

      public void sendResponse(HttpRequest request, HttpResponse response)
      Specified by:
      sendResponse in class ResponseWriter