Class HttpServerBluePrint$

java.lang.Object
org.apache.pekko.http.impl.engine.server.HttpServerBluePrint$

public class HttpServerBluePrint$ extends Object
INTERNAL API

HTTP pipeline setup (without the underlying SSL/TLS (un)wrapping and the websocket switch):

+----------+ +-------------+ +-------------+ +-----------+ HttpRequest | | Http- | request- | Request- | | Request- | request- | ByteString | <------------+ <----------+ Preparation <----------+ <-------------+ Parsing <----------- | | | Request | | Output | | Output | | | | | +-------------+ | | +-----------+ | | | | | | Application- | One2One- | | controller- | | Flow | Bidi | | Stage | | | | | | | | | | | +-----------+ | HttpResponse | | HttpResponse | | Response- | renderer- | ByteString v -------------> +-----------------------------------> +-------------> Pipeline +----------> | | | | Rendering- | | +----------+ +-------------+ Context +-----------+

  • Field Details

    • MODULE$

      public static final HttpServerBluePrint$ MODULE$
      Static reference to the singleton instance of this Scala object.
  • Constructor Details

    • HttpServerBluePrint$

      public HttpServerBluePrint$()
  • Method Details

    • apply

      public org.apache.pekko.stream.scaladsl.BidiFlow<HttpResponse,org.apache.pekko.stream.TLSProtocol.SslTlsOutbound,org.apache.pekko.stream.TLSProtocol.SslTlsInbound,HttpRequest,org.apache.pekko.NotUsed> apply(ServerSettings settings, org.apache.pekko.event.LoggingAdapter log, boolean isSecureConnection, DateHeaderRendering dateHeaderRendering)
    • tlsSupport

      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.stream.TLSProtocol.SessionBytes,org.apache.pekko.NotUsed> tlsSupport()
    • websocketSupport

      public org.apache.pekko.stream.scaladsl.BidiFlow<ResponseRenderingOutput,org.apache.pekko.util.ByteString,org.apache.pekko.stream.TLSProtocol.SessionBytes,org.apache.pekko.stream.TLSProtocol.SessionBytes,org.apache.pekko.NotUsed> websocketSupport(ServerSettings settings, org.apache.pekko.event.LoggingAdapter log)
    • parsingRendering

      public org.apache.pekko.stream.scaladsl.BidiFlow<ResponseRenderingContext,ResponseRenderingOutput,org.apache.pekko.stream.TLSProtocol.SessionBytes,ParserOutput.RequestOutput,org.apache.pekko.NotUsed> parsingRendering(ServerSettings settings, org.apache.pekko.event.LoggingAdapter log, boolean isSecureConnection, DateHeaderRendering dateHeaderRendering)
    • controller

      public org.apache.pekko.stream.scaladsl.BidiFlow<HttpResponse,ResponseRenderingContext,ParserOutput.RequestOutput,ParserOutput.RequestOutput,org.apache.pekko.NotUsed> controller(ServerSettings settings, org.apache.pekko.event.LoggingAdapter log)
    • requestPreparation

      public org.apache.pekko.stream.scaladsl.BidiFlow<HttpResponse,HttpResponse,ParserOutput.RequestOutput,HttpRequest,org.apache.pekko.NotUsed> requestPreparation(ServerSettings settings)
      Wraps the HTTP/1.1 request/response bidi flow.

      Opentelemetry Java Instrumentation relies on this method so avoid changing it. The agent wraps the returned BidiFlow to start and end server spans, and matches on the method name and on the BidiFlow return type. See https://github.com/apache/pekko-http/issues/1241

      Parameters:
      settings - (undocumented)
      Returns:
      (undocumented)
    • requestTimeoutSupport

      public org.apache.pekko.stream.scaladsl.BidiFlow<HttpResponse,HttpResponse,HttpRequest,HttpRequest,org.apache.pekko.NotUsed> requestTimeoutSupport(scala.concurrent.duration.Duration timeout, org.apache.pekko.event.LoggingAdapter log)
    • parsing

      public org.apache.pekko.stream.scaladsl.Flow<org.apache.pekko.stream.TLSProtocol.SessionBytes,ParserOutput.RequestOutput,org.apache.pekko.NotUsed> parsing(ServerSettings settings, org.apache.pekko.event.LoggingAdapter log, boolean isSecureConnection)
    • rendering

      public org.apache.pekko.stream.scaladsl.Flow<ResponseRenderingContext,ResponseRenderingOutput,org.apache.pekko.NotUsed> rendering(ServerSettings settings, org.apache.pekko.event.LoggingAdapter log, DateHeaderRendering dateHeaderRendering)
    • userHandlerGuard

      public org.apache.pekko.stream.scaladsl.BidiFlow<HttpResponse,HttpResponse,HttpRequest,HttpRequest,org.apache.pekko.NotUsed> userHandlerGuard(int pipeliningLimit)
      Ensures that the user handler - produces exactly one response per request - has not more than pipeliningLimit responses outstanding
      Parameters:
      pipeliningLimit - (undocumented)
      Returns:
      (undocumented)