Class ExtensionHeaderStrippingHttp2ConnectionEncoder

java.lang.Object
io.netty.handler.codec.http2.DecoratingHttp2FrameWriter
io.netty.handler.codec.http2.DecoratingHttp2ConnectionEncoder
org.mockserver.netty.unification.ExtensionHeaderStrippingHttp2ConnectionEncoder
All Implemented Interfaces:
io.netty.handler.codec.http2.Http2ConnectionEncoder, io.netty.handler.codec.http2.Http2DataWriter, io.netty.handler.codec.http2.Http2FrameWriter, io.netty.handler.codec.http2.Http2SettingsReceivedConsumer, Closeable, AutoCloseable

public final class ExtensionHeaderStrippingHttp2ConnectionEncoder extends io.netty.handler.codec.http2.DecoratingHttp2ConnectionEncoder
Leaves Netty's x-http2- extension headers (HttpConversionUtil.ExtensionHeaderNames) out of every header block an HttpToHttp2ConnectionHandler sends. That handler takes the stream's priority from them, but its conversion drops only the stream id, scheme, path and protocol, so a message read through InboundHttp2ToHttpAdapter, which sets the stream weight on every message, would be relayed with x-http2-stream-weight as a header field. The priority itself is still sent, as the frame's priority fields.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface io.netty.handler.codec.http2.Http2FrameWriter

    io.netty.handler.codec.http2.Http2FrameWriter.Configuration
  • Constructor Summary

    Constructors
    Constructor
    Description
    ExtensionHeaderStrippingHttp2ConnectionEncoder(io.netty.handler.codec.http2.Http2ConnectionEncoder delegate)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    io.netty.channel.ChannelFuture
    writeHeaders(io.netty.channel.ChannelHandlerContext ctx, int streamId, io.netty.handler.codec.http2.Http2Headers headers, int padding, boolean endStream, io.netty.channel.ChannelPromise promise)
     
    io.netty.channel.ChannelFuture
    writeHeaders(io.netty.channel.ChannelHandlerContext ctx, int streamId, io.netty.handler.codec.http2.Http2Headers headers, int streamDependency, short weight, boolean exclusive, int padding, boolean endStream, io.netty.channel.ChannelPromise promise)
     

    Methods inherited from class io.netty.handler.codec.http2.DecoratingHttp2ConnectionEncoder

    connection, consumeReceivedSettings, flowController, frameWriter, lifecycleManager, pollSentSettings, remoteSettings

    Methods inherited from class io.netty.handler.codec.http2.DecoratingHttp2FrameWriter

    close, configuration, writeData, writeFrame, writeGoAway, writePing, writePriority, writePushPromise, writeRstStream, writeSettings, writeSettingsAck, writeWindowUpdate

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.netty.handler.codec.http2.Http2ConnectionEncoder

    writeFrame

    Methods inherited from interface io.netty.handler.codec.http2.Http2DataWriter

    writeData

    Methods inherited from interface io.netty.handler.codec.http2.Http2FrameWriter

    close, configuration, writeGoAway, writePing, writePriority, writePushPromise, writeRstStream, writeSettings, writeSettingsAck, writeWindowUpdate
  • Constructor Details

    • ExtensionHeaderStrippingHttp2ConnectionEncoder

      public ExtensionHeaderStrippingHttp2ConnectionEncoder(io.netty.handler.codec.http2.Http2ConnectionEncoder delegate)
  • Method Details

    • writeHeaders

      public io.netty.channel.ChannelFuture writeHeaders(io.netty.channel.ChannelHandlerContext ctx, int streamId, io.netty.handler.codec.http2.Http2Headers headers, int padding, boolean endStream, io.netty.channel.ChannelPromise promise)
      Specified by:
      writeHeaders in interface io.netty.handler.codec.http2.Http2FrameWriter
      Overrides:
      writeHeaders in class io.netty.handler.codec.http2.DecoratingHttp2FrameWriter
    • writeHeaders

      public io.netty.channel.ChannelFuture writeHeaders(io.netty.channel.ChannelHandlerContext ctx, int streamId, io.netty.handler.codec.http2.Http2Headers headers, int streamDependency, short weight, boolean exclusive, int padding, boolean endStream, io.netty.channel.ChannelPromise promise)
      Specified by:
      writeHeaders in interface io.netty.handler.codec.http2.Http2FrameWriter
      Overrides:
      writeHeaders in class io.netty.handler.codec.http2.DecoratingHttp2FrameWriter