public class Http2Blueprint$
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static Http2Blueprint$ |
MODULE$
Static reference to the singleton instance of this Scala object.
|
Constructor and Description |
---|
Http2Blueprint$() |
Modifier and Type | Method and Description |
---|---|
org.apache.pekko.stream.scaladsl.BidiFlow<Http2SubStream,FrameEvent,FrameEvent,Http2SubStream,ServerTerminator> |
clientDemux(Http2ClientSettings settings,
HttpHeaderParser masterHttpHeaderParser)
Creates substreams for every stream and manages stream state machines
and handles priorization (TODO: later)
|
org.apache.pekko.stream.scaladsl.BidiFlow<HttpRequest,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,HttpResponse,org.apache.pekko.NotUsed> |
clientStack(ClientConnectionSettings settings,
org.apache.pekko.event.LoggingAdapter log,
TelemetrySpi telemetry) |
org.apache.pekko.stream.scaladsl.BidiFlow<org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,org.apache.pekko.NotUsed> |
errorHandling(org.apache.pekko.event.LoggingAdapter log) |
scala.Option<java.lang.String> |
frameTypeAliasToFrameTypeName(java.lang.String frameType) |
org.apache.pekko.stream.scaladsl.BidiFlow<FrameEvent,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,FrameEvent,org.apache.pekko.NotUsed> |
framing(org.apache.pekko.event.LoggingAdapter log) |
org.apache.pekko.stream.scaladsl.BidiFlow<FrameEvent,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,FrameEvent,org.apache.pekko.NotUsed> |
framingClient(org.apache.pekko.event.LoggingAdapter log) |
org.apache.pekko.stream.scaladsl.Flow<HttpRequest,HttpResponse,org.apache.pekko.NotUsed> |
handleWithStreamIdHeader(int parallelism,
scala.Function1<HttpRequest,scala.concurrent.Future<HttpResponse>> handler,
scala.concurrent.ExecutionContext ec)
Returns a flow that handles
parallelism requests in parallel, automatically keeping track of the
Http2StreamIdHeader between request and responses. |
org.apache.pekko.stream.scaladsl.BidiFlow<FrameEvent,FrameEvent,FrameEvent,FrameEvent,org.apache.pekko.NotUsed> |
hpackCoding(HttpHeaderParser masterHttpHeaderParser,
ParserSettings parserSettings)
Runs hpack encoding and decoding.
|
org.apache.pekko.stream.scaladsl.BidiFlow<HttpResponse,Http2SubStream,Http2SubStream,HttpRequest,org.apache.pekko.NotUsed> |
httpLayer(ServerSettings settings,
org.apache.pekko.event.LoggingAdapter log,
DateHeaderRendering dateHeaderRendering)
Translation between substream frames and Http messages (both directions)
To make use of parallelism requests and responses need to be associated (other than by ordering), suggestion
is to add a special (virtual) header containing the streamId (or any other kind of token) is added to the HttRequest
that must be reproduced in an HttpResponse.
|
org.apache.pekko.stream.scaladsl.BidiFlow<HttpRequest,Http2SubStream,Http2SubStream,HttpResponse,org.apache.pekko.NotUsed> |
httpLayerClient(HttpHeaderParser masterHttpHeaderParser,
ClientConnectionSettings settings,
org.apache.pekko.event.LoggingAdapter log) |
org.apache.pekko.stream.scaladsl.BidiFlow<org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,org.apache.pekko.NotUsed> |
idleTimeoutIfConfigured(scala.concurrent.duration.Duration timeout) |
void |
logParsingError(ErrorInfo info,
org.apache.pekko.event.LoggingAdapter log,
ParserSettings.ErrorLoggingVerbosity setting) |
org.apache.pekko.stream.scaladsl.BidiFlow<Http2SubStream,FrameEvent,FrameEvent,Http2SubStream,ServerTerminator> |
serverDemux(Http2ServerSettings settings,
scala.collection.immutable.Seq<FrameEvent.Setting> initialDemuxerSettings,
boolean upgraded)
Creates substreams for every stream and manages stream state machines
and handles priorization (TODO: later)
|
org.apache.pekko.stream.scaladsl.BidiFlow<HttpResponse,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,HttpRequest,ServerTerminator> |
serverStack(ServerSettings settings,
org.apache.pekko.event.LoggingAdapter log,
scala.collection.immutable.Seq<FrameEvent.Setting> initialDemuxerSettings,
boolean upgraded,
TelemetrySpi telemetry,
DateHeaderRendering dateHeaderRendering) |
org.apache.pekko.stream.scaladsl.BidiFlow<HttpResponse,org.apache.pekko.stream.TLSProtocol.SslTlsOutbound,org.apache.pekko.stream.TLSProtocol.SslTlsInbound,HttpRequest,ServerTerminator> |
serverStackTls(ServerSettings settings,
org.apache.pekko.event.LoggingAdapter log,
TelemetrySpi telemetry,
DateHeaderRendering dateHeaderRendering) |
org.apache.pekko.stream.scaladsl.BidiFlow<org.apache.pekko.util.ByteString,org.apache.pekko.stream.TLSProtocol.SslTlsOutbound,org.apache.pekko.stream.TLSProtocol.SslTlsInbound,org.apache.pekko.util.ByteString,org.apache.pekko.NotUsed> |
unwrapTls() |
public static final Http2Blueprint$ MODULE$
public org.apache.pekko.stream.scaladsl.BidiFlow<HttpResponse,org.apache.pekko.stream.TLSProtocol.SslTlsOutbound,org.apache.pekko.stream.TLSProtocol.SslTlsInbound,HttpRequest,ServerTerminator> serverStackTls(ServerSettings settings, org.apache.pekko.event.LoggingAdapter log, TelemetrySpi telemetry, DateHeaderRendering dateHeaderRendering)
public org.apache.pekko.stream.scaladsl.BidiFlow<HttpResponse,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,HttpRequest,ServerTerminator> serverStack(ServerSettings settings, org.apache.pekko.event.LoggingAdapter log, scala.collection.immutable.Seq<FrameEvent.Setting> initialDemuxerSettings, boolean upgraded, TelemetrySpi telemetry, DateHeaderRendering dateHeaderRendering)
public org.apache.pekko.stream.scaladsl.BidiFlow<HttpRequest,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,HttpResponse,org.apache.pekko.NotUsed> clientStack(ClientConnectionSettings settings, org.apache.pekko.event.LoggingAdapter log, TelemetrySpi telemetry)
public org.apache.pekko.stream.scaladsl.BidiFlow<HttpRequest,Http2SubStream,Http2SubStream,HttpResponse,org.apache.pekko.NotUsed> httpLayerClient(HttpHeaderParser masterHttpHeaderParser, ClientConnectionSettings settings, org.apache.pekko.event.LoggingAdapter log)
public org.apache.pekko.stream.scaladsl.BidiFlow<org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,org.apache.pekko.NotUsed> idleTimeoutIfConfigured(scala.concurrent.duration.Duration timeout)
public org.apache.pekko.stream.scaladsl.BidiFlow<org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,org.apache.pekko.NotUsed> errorHandling(org.apache.pekko.event.LoggingAdapter log)
public org.apache.pekko.stream.scaladsl.BidiFlow<FrameEvent,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,FrameEvent,org.apache.pekko.NotUsed> framing(org.apache.pekko.event.LoggingAdapter log)
public org.apache.pekko.stream.scaladsl.BidiFlow<FrameEvent,org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString,FrameEvent,org.apache.pekko.NotUsed> framingClient(org.apache.pekko.event.LoggingAdapter log)
public scala.Option<java.lang.String> frameTypeAliasToFrameTypeName(java.lang.String frameType)
public org.apache.pekko.stream.scaladsl.BidiFlow<FrameEvent,FrameEvent,FrameEvent,FrameEvent,org.apache.pekko.NotUsed> hpackCoding(HttpHeaderParser masterHttpHeaderParser, ParserSettings parserSettings)
TODO: introduce another FrameEvent type that exclude HeadersFrame and ContinuationFrame from reaching the higher-level.
masterHttpHeaderParser
- (undocumented)parserSettings
- (undocumented)public org.apache.pekko.stream.scaladsl.BidiFlow<Http2SubStream,FrameEvent,FrameEvent,Http2SubStream,ServerTerminator> serverDemux(Http2ServerSettings settings, scala.collection.immutable.Seq<FrameEvent.Setting> initialDemuxerSettings, boolean upgraded)
settings
- (undocumented)initialDemuxerSettings
- (undocumented)upgraded
- (undocumented)public org.apache.pekko.stream.scaladsl.BidiFlow<Http2SubStream,FrameEvent,FrameEvent,Http2SubStream,ServerTerminator> clientDemux(Http2ClientSettings settings, HttpHeaderParser masterHttpHeaderParser)
settings
- (undocumented)masterHttpHeaderParser
- (undocumented)public org.apache.pekko.stream.scaladsl.BidiFlow<HttpResponse,Http2SubStream,Http2SubStream,HttpRequest,org.apache.pekko.NotUsed> httpLayer(ServerSettings settings, org.apache.pekko.event.LoggingAdapter log, DateHeaderRendering dateHeaderRendering)
To make use of parallelism requests and responses need to be associated (other than by ordering), suggestion
is to add a special (virtual) header containing the streamId (or any other kind of token) is added to the HttRequest
that must be reproduced in an HttpResponse. This can be done automatically for the bind
API but for
bindFlow the user needs to take of this manually.
settings
- (undocumented)log
- (undocumented)dateHeaderRendering
- (undocumented)public org.apache.pekko.stream.scaladsl.Flow<HttpRequest,HttpResponse,org.apache.pekko.NotUsed> handleWithStreamIdHeader(int parallelism, scala.Function1<HttpRequest,scala.concurrent.Future<HttpResponse>> handler, scala.concurrent.ExecutionContext ec)
parallelism
requests in parallel, automatically keeping track of the
Http2StreamIdHeader between request and responses.parallelism
- (undocumented)handler
- (undocumented)ec
- (undocumented)public void logParsingError(ErrorInfo info, org.apache.pekko.event.LoggingAdapter log, ParserSettings.ErrorLoggingVerbosity setting)
public org.apache.pekko.stream.scaladsl.BidiFlow<org.apache.pekko.util.ByteString,org.apache.pekko.stream.TLSProtocol.SslTlsOutbound,org.apache.pekko.stream.TLSProtocol.SslTlsInbound,org.apache.pekko.util.ByteString,org.apache.pekko.NotUsed> unwrapTls()