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 +-----------+

  • Constructor Details

    • HttpServerBluePrint

      public HttpServerBluePrint()
  • Method Details

    • apply

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

      public static 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 static 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 static 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 static org.apache.pekko.stream.scaladsl.BidiFlow<HttpResponse,HttpResponse,ParserOutput.RequestOutput,HttpRequest,org.apache.pekko.NotUsed> requestPreparation(ServerSettings settings)
    • requestTimeoutSupport

      public static 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 static 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 static 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 static 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)