class BlazeServerBuilder[F[_]] extends ServerBuilder[F] with BlazeBackendBuilder[Server]
BlazeServerBuilder is the component for the builder pattern aggregating different components to finally serve requests.
Variables:
- Source
- BlazeServerBuilder.scala
- Alphabetic
- By Inheritance
- BlazeServerBuilder
- BlazeBackendBuilder
- ServerBuilder
- BackendBuilder
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- type Self = BlazeServerBuilder[F]
- Definition Classes
- BlazeServerBuilder → BlazeBackendBuilder → ServerBuilder
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- implicit val F: Async[F]
- Attributes
- protected
- Definition Classes
- BlazeServerBuilder → ServerBuilder → BackendBuilder
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- final def bindAny(host: String): Self
- Definition Classes
- ServerBuilder
- final def bindHttp(port: Int, host: String): Self
- Definition Classes
- ServerBuilder
- final def bindLocal(port: Int): Self
- Definition Classes
- ServerBuilder
- def bindSocketAddress(socketAddress: InetSocketAddress): Self
- Definition Classes
- BlazeServerBuilder → ServerBuilder
- def channelOption[A](socketOption: SocketOption[A]): Option[A]
- Definition Classes
- BlazeBackendBuilder
- val channelOptions: ChannelOptions
- Definition Classes
- BlazeServerBuilder → BlazeBackendBuilder
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def resource: Resource[F, Server]
- Definition Classes
- BlazeServerBuilder → ServerBuilder → BackendBuilder
- final def serve: Stream[F, ExitCode]
- Definition Classes
- ServerBuilder
- final def serveWhile(terminateWhenTrue: Signal[F, Boolean], exitWith: Ref[F, ExitCode]): Stream[F, ExitCode]
- Definition Classes
- ServerBuilder
- def socketKeepAlive: Option[Boolean]
- Definition Classes
- BlazeBackendBuilder
- def socketReceiveBufferSize: Option[Int]
- Definition Classes
- BlazeBackendBuilder
- def socketReuseAddress: Option[Boolean]
- Definition Classes
- BlazeBackendBuilder
- def socketSendBufferSize: Option[Int]
- Definition Classes
- BlazeBackendBuilder
- def stream: Stream[F, Server]
- Definition Classes
- BackendBuilder
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def tcpNoDelay: Option[Boolean]
- Definition Classes
- BlazeBackendBuilder
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def withBanner(banner: Seq[String]): Self
- Definition Classes
- BlazeServerBuilder → ServerBuilder
- def withBufferSize(size: Int): Self
- def withChannelOption[A](key: SocketOption[A], value: A): Self
- Definition Classes
- BlazeBackendBuilder
- def withChannelOptions(channelOptions: ChannelOptions): BlazeServerBuilder[F]
- Definition Classes
- BlazeServerBuilder → BlazeBackendBuilder
- def withChunkBufferMaxSize(chunkBufferMaxSize: Int): BlazeServerBuilder[F]
- def withConnectorPoolSize(size: Int): Self
- def withDefaultChannelOption[A](key: SocketOption[A]): Self
- Definition Classes
- BlazeBackendBuilder
- def withDefaultSocketKeepAlive: Self
- Definition Classes
- BlazeBackendBuilder
- def withDefaultSocketReceiveBufferSize: Self
- Definition Classes
- BlazeBackendBuilder
- def withDefaultSocketReuseAddress: Self
- Definition Classes
- BlazeBackendBuilder
- def withDefaultSocketSendBufferSize: Self
- Definition Classes
- BlazeBackendBuilder
- def withDefaultTcpNoDelay: Self
- Definition Classes
- BlazeBackendBuilder
- def withExecutionContext(executionContext: ExecutionContext): BlazeServerBuilder[F]
Configures the compute thread pool used to process some async computations.
Configures the compute thread pool used to process some async computations.
This defaults to
cats.effect.Async[F].executionContext. In almost all cases, it is desirable to use the default.The Blaze server has a single-threaded event loop receiver used for picking up tcp connections which is completely separate to this pool. Following picking up a tcp connection, Blaze shifts to a compute pool to process requests. The request processing logic specified by the
HttpAppis executed on thecats.effect.Async[F].executionContext. Some of the other async computations involved in request processing are executed on this pool. - def withHttpApp(httpApp: HttpApp[F]): Self
- def withHttpWebSocketApp(f: (WebSocketBuilder2[F]) => HttpApp[F]): Self
- def withIdleTimeout(idleTimeout: Duration): Self
- def withLengthLimits(maxRequestLineLen: Int = maxRequestLineLen, maxHeadersLen: Int = maxHeadersLen): Self
Configure HTTP parser length limits
Configure HTTP parser length limits
These are to avoid denial of service attacks due to, for example, an infinite request line.
- maxRequestLineLen
maximum request line to parse
- maxHeadersLen
maximum data that compose headers
- def withMaxConnections(maxConnections: Int): BlazeServerBuilder[F]
- def withMaxHeadersLength(maxHeadersLength: Int): BlazeServerBuilder[F]
- def withMaxRequestLineLength(maxRequestLineLength: Int): BlazeServerBuilder[F]
- def withMaxWebSocketBufferSize(maxWebSocketBufferSize: Option[Int]): BlazeServerBuilder[F]
- def withResponseHeaderTimeout(responseHeaderTimeout: Duration): Self
- def withSelectorThreadFactory(selectorThreadFactory: ThreadFactory): Self
- def withServiceErrorHandler(serviceErrorHandler: ServiceErrorHandler[F]): Self
- Definition Classes
- BlazeServerBuilder → ServerBuilder
- def withSocketKeepAlive(socketKeepAlive: Boolean): Self
- Definition Classes
- BlazeBackendBuilder
- def withSocketReceiveBufferSize(socketReceiveBufferSize: Int): Self
- Definition Classes
- BlazeBackendBuilder
- def withSocketReuseAddress(socketReuseAddress: Boolean): Self
- Definition Classes
- BlazeBackendBuilder
- def withSocketSendBufferSize(socketSendBufferSize: Int): Self
- Definition Classes
- BlazeBackendBuilder
- def withSslContext(sslContext: SSLContext): Self
Configures the server with TLS, using the provided
SSLContextand its defaultSSLParameters - def withSslContextAndParameters(sslContext: SSLContext, sslParameters: SSLParameters): Self
Configures the server with TLS, using the provided
SSLContextandSSLParameters. - def withTcpNoDelay(tcpNoDelay: Boolean): Self
- Definition Classes
- BlazeBackendBuilder
- final def withoutBanner: Self
- Definition Classes
- ServerBuilder
- def withoutSsl: Self
Deprecated Value Members
- def allocated: F[(Server, F[Unit])]
- Definition Classes
- BackendBuilder
- Annotations
- @deprecated
- Deprecated
(Since version 0.23.14) Use manually called '.resource.allocated' instead. Will be removed from public API in 1.0.
- def enableHttp2(enabled: Boolean): Self
- Annotations
- @deprecated
- Deprecated
(Since version 0.23.18) HTTP/2 support is unmaintained and will be removed in a future version.
- def withSSL(keyStore: StoreInfo, keyManagerPassword: String, protocol: String = "TLS", trustStore: Option[StoreInfo] = None, clientAuth: SSLClientAuthMode = SSLClientAuthMode.NotRequested): Self
- Annotations
- @deprecated
- Deprecated
(Since version 0.21.0-RC3) Build an
SSLContextfrom the first four parameters and usewithSslContext(note lowercase). To also request client certificates, usewithSslContextAndParameters, calling either.setWantClientAuth(true)orsetNeedClientAuth(true)on theSSLParameters.
- def withSSLContext(sslContext: SSLContext, clientAuth: SSLClientAuthMode = SSLClientAuthMode.NotRequested): Self
- Annotations
- @deprecated
- Deprecated
(Since version 0.21.0-RC3) Use
withSslContext(note lowercase). To request client certificates, usewithSslContextAndParameters, calling either.setWantClientAuth(true)orsetNeedClientAuth(true)on theSSLParameters.
- def withWebSockets(enableWebsockets: Boolean): Self
- Annotations
- @deprecated
- Deprecated
(Since version 0.23) This operation is a no-op. WebSockets are always enabled.