Class Http2Blueprint
java.lang.Object
org.apache.pekko.http.impl.engine.http2.Http2Blueprint
INTERNAL API
- 
Nested Class SummaryNested Classes
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionstatic 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)static 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) static 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) static scala.Option<String>frameTypeAliasToFrameTypeName(String frameType) static 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) static 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) static 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 handlesparallelismrequests in parallel, automatically keeping track of the Http2StreamIdHeader between request and responses.static org.apache.pekko.stream.scaladsl.BidiFlow<FrameEvent,FrameEvent, FrameEvent, FrameEvent, org.apache.pekko.NotUsed> hpackCoding(HttpHeaderParser masterHttpHeaderParser, ParserSettings parserSettings) Runs hpack encoding and decoding.static 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)static 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) static 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) static voidlogParsingError(ErrorInfo info, org.apache.pekko.event.LoggingAdapter log, ParserSettings.ErrorLoggingVerbosity setting) static 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)static 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) static 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) static 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> 
- 
Constructor Details- 
Http2Blueprintpublic Http2Blueprint()
 
- 
- 
Method Details- 
serverStackTlspublic static org.apache.pekko.stream.scaladsl.BidiFlow<HttpResponse,org.apache.pekko.stream.TLSProtocol.SslTlsOutbound, serverStackTlsorg.apache.pekko.stream.TLSProtocol.SslTlsInbound, HttpRequest, ServerTerminator> (ServerSettings settings, org.apache.pekko.event.LoggingAdapter log, TelemetrySpi telemetry, DateHeaderRendering dateHeaderRendering) 
- 
serverStackpublic static org.apache.pekko.stream.scaladsl.BidiFlow<HttpResponse,org.apache.pekko.util.ByteString, serverStackorg.apache.pekko.util.ByteString, HttpRequest, ServerTerminator> (ServerSettings settings, org.apache.pekko.event.LoggingAdapter log, scala.collection.immutable.Seq<FrameEvent.Setting> initialDemuxerSettings, boolean upgraded, TelemetrySpi telemetry, DateHeaderRendering dateHeaderRendering) 
- 
clientStackpublic static org.apache.pekko.stream.scaladsl.BidiFlow<HttpRequest,org.apache.pekko.util.ByteString, clientStackorg.apache.pekko.util.ByteString, HttpResponse, org.apache.pekko.NotUsed> (ClientConnectionSettings settings, org.apache.pekko.event.LoggingAdapter log, TelemetrySpi telemetry) 
- 
httpLayerClientpublic static org.apache.pekko.stream.scaladsl.BidiFlow<HttpRequest,Http2SubStream, httpLayerClientHttp2SubStream, HttpResponse, org.apache.pekko.NotUsed> (HttpHeaderParser masterHttpHeaderParser, ClientConnectionSettings settings, org.apache.pekko.event.LoggingAdapter log) 
- 
idleTimeoutIfConfiguredpublic static org.apache.pekko.stream.scaladsl.BidiFlow<org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString, idleTimeoutIfConfiguredorg.apache.pekko.util.ByteString, org.apache.pekko.util.ByteString, org.apache.pekko.NotUsed> (scala.concurrent.duration.Duration timeout) 
- 
errorHandlingpublic static org.apache.pekko.stream.scaladsl.BidiFlow<org.apache.pekko.util.ByteString,org.apache.pekko.util.ByteString, errorHandlingorg.apache.pekko.util.ByteString, org.apache.pekko.util.ByteString, org.apache.pekko.NotUsed> (org.apache.pekko.event.LoggingAdapter log) 
- 
framingpublic static org.apache.pekko.stream.scaladsl.BidiFlow<FrameEvent,org.apache.pekko.util.ByteString, framingorg.apache.pekko.util.ByteString, FrameEvent, org.apache.pekko.NotUsed> (org.apache.pekko.event.LoggingAdapter log) 
- 
framingClientpublic static org.apache.pekko.stream.scaladsl.BidiFlow<FrameEvent,org.apache.pekko.util.ByteString, framingClientorg.apache.pekko.util.ByteString, FrameEvent, org.apache.pekko.NotUsed> (org.apache.pekko.event.LoggingAdapter log) 
- 
frameTypeAliasToFrameTypeName
- 
hpackCodingpublic static org.apache.pekko.stream.scaladsl.BidiFlow<FrameEvent,FrameEvent, hpackCodingFrameEvent, FrameEvent, org.apache.pekko.NotUsed> (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)
 
- 
serverDemuxpublic static org.apache.pekko.stream.scaladsl.BidiFlow<Http2SubStream,FrameEvent, serverDemuxFrameEvent, Http2SubStream, ServerTerminator> (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)
 
- 
clientDemuxpublic static org.apache.pekko.stream.scaladsl.BidiFlow<Http2SubStream,FrameEvent, clientDemuxFrameEvent, Http2SubStream, ServerTerminator> (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)
 
- 
httpLayerpublic static org.apache.pekko.stream.scaladsl.BidiFlow<HttpResponse,Http2SubStream, httpLayerHttp2SubStream, HttpRequest, org.apache.pekko.NotUsed> (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. This can be done automatically for the bindAPI but forbindFlowthe user needs to take of this manually.- Parameters:
- settings- (undocumented)
- log- (undocumented)
- dateHeaderRendering- (undocumented)
- Returns:
- (undocumented)
 
- 
handleWithStreamIdHeaderpublic static org.apache.pekko.stream.scaladsl.Flow<HttpRequest,HttpResponse, handleWithStreamIdHeaderorg.apache.pekko.NotUsed> (int parallelism, scala.Function1<HttpRequest, scala.concurrent.Future<HttpResponse>> handler, scala.concurrent.ExecutionContext ec) Returns a flow that handlesparallelismrequests in parallel, automatically keeping track of the Http2StreamIdHeader between request and responses.- Parameters:
- parallelism- (undocumented)
- handler- (undocumented)
- ec- (undocumented)
- Returns:
- (undocumented)
 
- 
logParsingErrorpublic static void logParsingError(ErrorInfo info, org.apache.pekko.event.LoggingAdapter log, ParserSettings.ErrorLoggingVerbosity setting) 
- 
unwrapTlspublic static org.apache.pekko.stream.scaladsl.BidiFlow<org.apache.pekko.util.ByteString,org.apache.pekko.stream.TLSProtocol.SslTlsOutbound, unwrapTls()org.apache.pekko.stream.TLSProtocol.SslTlsInbound, org.apache.pekko.util.ByteString, org.apache.pekko.NotUsed> 
 
-