Package akka.http.impl.engine.http2
Class Http2Blueprint$
- java.lang.Object
-
- akka.http.impl.engine.http2.Http2Blueprint$
-
public class Http2Blueprint$ extends java.lang.Object
INTERNAL API
-
-
Field Summary
Fields Modifier and Type Field Description static Http2Blueprint$
MODULE$
Static reference to the singleton instance of this Scala object.
-
Constructor Summary
Constructors Constructor Description Http2Blueprint$()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description akka.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)akka.stream.scaladsl.BidiFlow<HttpRequest,akka.util.ByteString,akka.util.ByteString,HttpResponse,akka.NotUsed>
clientStack(ClientConnectionSettings settings, akka.event.LoggingAdapter log, TelemetrySpi telemetry)
akka.stream.scaladsl.BidiFlow<akka.util.ByteString,akka.util.ByteString,akka.util.ByteString,akka.util.ByteString,akka.NotUsed>
errorHandling(akka.event.LoggingAdapter log)
akka.stream.scaladsl.BidiFlow<FrameEvent,akka.util.ByteString,akka.util.ByteString,FrameEvent,akka.NotUsed>
framing(Http2ServerSettings http2ServerSettings, akka.event.LoggingAdapter log)
akka.stream.scaladsl.BidiFlow<FrameEvent,akka.util.ByteString,akka.util.ByteString,FrameEvent,akka.NotUsed>
framingClient(akka.event.LoggingAdapter log)
akka.stream.scaladsl.Flow<HttpRequest,HttpResponse,akka.NotUsed>
handleWithStreamIdHeader(int parallelism, scala.Function1<HttpRequest,scala.concurrent.Future<HttpResponse>> handler, scala.concurrent.ExecutionContext ec)
Returns a flow that handlesparallelism
requests in parallel, automatically keeping track of the Http2StreamIdHeader between request and responses.akka.stream.scaladsl.BidiFlow<FrameEvent,FrameEvent,FrameEvent,FrameEvent,akka.NotUsed>
hpackCoding(HttpHeaderParser masterHttpHeaderParser, ParserSettings parserSettings)
Runs hpack encoding and decoding.akka.stream.scaladsl.BidiFlow<HttpResponse,Http2SubStream,Http2SubStream,HttpRequest,akka.NotUsed>
httpLayer(ServerSettings settings, akka.event.LoggingAdapter log, DateHeaderRendering dateHeaderRendering)
Translation between substream frames and Http messages (both directions)akka.stream.scaladsl.BidiFlow<HttpRequest,Http2SubStream,Http2SubStream,HttpResponse,akka.NotUsed>
httpLayerClient(HttpHeaderParser masterHttpHeaderParser, ClientConnectionSettings settings, akka.event.LoggingAdapter log)
akka.stream.scaladsl.BidiFlow<akka.util.ByteString,akka.util.ByteString,akka.util.ByteString,akka.util.ByteString,akka.NotUsed>
idleTimeoutIfConfigured(scala.concurrent.duration.Duration timeout)
void
logParsingError(ErrorInfo info, akka.event.LoggingAdapter log, ParserSettings.ErrorLoggingVerbosity setting)
akka.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)akka.stream.scaladsl.BidiFlow<HttpResponse,akka.util.ByteString,akka.util.ByteString,HttpRequest,ServerTerminator>
serverStack(ServerSettings settings, akka.event.LoggingAdapter log, scala.collection.immutable.Seq<FrameEvent.Setting> initialDemuxerSettings, boolean upgraded, TelemetrySpi telemetry, DateHeaderRendering dateHeaderRendering)
akka.stream.scaladsl.BidiFlow<HttpResponse,akka.stream.TLSProtocol.SslTlsOutbound,akka.stream.TLSProtocol.SslTlsInbound,HttpRequest,ServerTerminator>
serverStackTls(ServerSettings settings, akka.event.LoggingAdapter log, TelemetrySpi telemetry, DateHeaderRendering dateHeaderRendering)
akka.stream.scaladsl.BidiFlow<akka.util.ByteString,akka.stream.TLSProtocol.SslTlsOutbound,akka.stream.TLSProtocol.SslTlsInbound,akka.util.ByteString,akka.NotUsed>
unwrapTls()
-
-
-
Field Detail
-
MODULE$
public static final Http2Blueprint$ MODULE$
Static reference to the singleton instance of this Scala object.
-
-
Method Detail
-
serverStackTls
public akka.stream.scaladsl.BidiFlow<HttpResponse,akka.stream.TLSProtocol.SslTlsOutbound,akka.stream.TLSProtocol.SslTlsInbound,HttpRequest,ServerTerminator> serverStackTls(ServerSettings settings, akka.event.LoggingAdapter log, TelemetrySpi telemetry, DateHeaderRendering dateHeaderRendering)
-
serverStack
public akka.stream.scaladsl.BidiFlow<HttpResponse,akka.util.ByteString,akka.util.ByteString,HttpRequest,ServerTerminator> serverStack(ServerSettings settings, akka.event.LoggingAdapter log, scala.collection.immutable.Seq<FrameEvent.Setting> initialDemuxerSettings, boolean upgraded, TelemetrySpi telemetry, DateHeaderRendering dateHeaderRendering)
-
clientStack
public akka.stream.scaladsl.BidiFlow<HttpRequest,akka.util.ByteString,akka.util.ByteString,HttpResponse,akka.NotUsed> clientStack(ClientConnectionSettings settings, akka.event.LoggingAdapter log, TelemetrySpi telemetry)
-
httpLayerClient
public akka.stream.scaladsl.BidiFlow<HttpRequest,Http2SubStream,Http2SubStream,HttpResponse,akka.NotUsed> httpLayerClient(HttpHeaderParser masterHttpHeaderParser, ClientConnectionSettings settings, akka.event.LoggingAdapter log)
-
idleTimeoutIfConfigured
public akka.stream.scaladsl.BidiFlow<akka.util.ByteString,akka.util.ByteString,akka.util.ByteString,akka.util.ByteString,akka.NotUsed> idleTimeoutIfConfigured(scala.concurrent.duration.Duration timeout)
-
errorHandling
public akka.stream.scaladsl.BidiFlow<akka.util.ByteString,akka.util.ByteString,akka.util.ByteString,akka.util.ByteString,akka.NotUsed> errorHandling(akka.event.LoggingAdapter log)
-
framing
public akka.stream.scaladsl.BidiFlow<FrameEvent,akka.util.ByteString,akka.util.ByteString,FrameEvent,akka.NotUsed> framing(Http2ServerSettings http2ServerSettings, akka.event.LoggingAdapter log)
-
framingClient
public akka.stream.scaladsl.BidiFlow<FrameEvent,akka.util.ByteString,akka.util.ByteString,FrameEvent,akka.NotUsed> framingClient(akka.event.LoggingAdapter log)
-
hpackCoding
public akka.stream.scaladsl.BidiFlow<FrameEvent,FrameEvent,FrameEvent,FrameEvent,akka.NotUsed> hpackCoding(HttpHeaderParser masterHttpHeaderParser, ParserSettings parserSettings)
Runs hpack encoding and decoding. Incoming frames that are processed are HEADERS and CONTINUATION. Outgoing frame is ParsedHeadersFrame. Other frames are propagated unchanged.TODO: introduce another FrameEvent type that exclude HeadersFrame and ContinuationFrame from reaching the higher-level.
- Parameters:
masterHttpHeaderParser
- (undocumented)parserSettings
- (undocumented)- Returns:
- (undocumented)
-
serverDemux
public akka.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)- Parameters:
settings
- (undocumented)initialDemuxerSettings
- (undocumented)upgraded
- (undocumented)- Returns:
- (undocumented)
-
clientDemux
public akka.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)- Parameters:
settings
- (undocumented)masterHttpHeaderParser
- (undocumented)- Returns:
- (undocumented)
-
httpLayer
public akka.stream.scaladsl.BidiFlow<HttpResponse,Http2SubStream,Http2SubStream,HttpRequest,akka.NotUsed> httpLayer(ServerSettings settings, akka.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. This can be done automatically for the
bind
API but forbindFlow
the user needs to take of this manually.- Parameters:
settings
- (undocumented)log
- (undocumented)dateHeaderRendering
- (undocumented)- Returns:
- (undocumented)
-
handleWithStreamIdHeader
public akka.stream.scaladsl.Flow<HttpRequest,HttpResponse,akka.NotUsed> handleWithStreamIdHeader(int parallelism, scala.Function1<HttpRequest,scala.concurrent.Future<HttpResponse>> handler, scala.concurrent.ExecutionContext ec)
Returns a flow that handlesparallelism
requests in parallel, automatically keeping track of the Http2StreamIdHeader between request and responses.- Parameters:
parallelism
- (undocumented)handler
- (undocumented)ec
- (undocumented)- Returns:
- (undocumented)
-
logParsingError
public void logParsingError(ErrorInfo info, akka.event.LoggingAdapter log, ParserSettings.ErrorLoggingVerbosity setting)
-
unwrapTls
public akka.stream.scaladsl.BidiFlow<akka.util.ByteString,akka.stream.TLSProtocol.SslTlsOutbound,akka.stream.TLSProtocol.SslTlsInbound,akka.util.ByteString,akka.NotUsed> unwrapTls()
-
-