class BlazeServerBuilder[F[_]] extends ServerBuilder[F] with BlazeBackendBuilder[Server[F]]
BlazeBuilder 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
- All
Instance Constructors
-
new
BlazeServerBuilder(socketAddress: InetSocketAddress, executionContext: ExecutionContext, responseHeaderTimeout: Duration, idleTimeout: Duration, isNio2: Boolean, connectorPoolSize: Int, bufferSize: Int, selectorThreadFactory: ThreadFactory, enableWebSockets: Boolean, sslConfig: SslConfig[F], isHttp2Enabled: Boolean, maxRequestLineLen: Int, maxHeadersLen: Int, chunkBufferMaxSize: Int, httpApp: HttpApp[F], serviceErrorHandler: ServiceErrorHandler[F], banner: Seq[String], maxConnections: Int, channelOptions: ChannelOptions)(implicit F: ConcurrentEffect[F], timer: Timer[F])
- Annotations
- @deprecated
- Deprecated
(Since version 0.21.17) Use
BlazeServerBuilder.apply
and configure withwith
methods
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: ConcurrentEffect[F]
- Attributes
- protected
- Definition Classes
- BlazeServerBuilder → ServerBuilder → BackendBuilder
-
def
allocated: F[(Server[F], F[Unit])]
Returns an effect that allocates a backend and an
F[Unit]
to release it.Returns an effect that allocates a backend and an
F[Unit]
to release it. The returnedF
waits until the backend is ready to process requests. The second element of the tuple shuts down the backend when run.Unlike resource and stream, there is no automatic release of the backend. This function is intended for REPL sessions, tests, and other situations where composing a cats.effect.Resource or fs2.Stream is not tenable. resource or stream is recommended wherever possible.
- Definition Classes
- BackendBuilder
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
final
def
bindAny(host: String = defaults.IPv4Host): Self
- Definition Classes
- ServerBuilder
-
final
def
bindHttp(port: Int = defaults.HttpPort, host: String = defaults.IPv4Host): 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( ... ) @native()
- def enableHttp2(enabled: Boolean): Self
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- 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[F]]
Returns a Server resource.
Returns a Server resource. The resource is not acquired until the server is started and ready to accept requests.
- Definition Classes
- BlazeServerBuilder → ServerBuilder → BackendBuilder
-
final
def
serve: Stream[F, ExitCode]
Runs the server as a process that never emits.
Runs the server as a process that never emits. Useful for a server that runs for the rest of the JVM's life.
- Definition Classes
- ServerBuilder
-
final
def
serveWhile(terminateWhenTrue: Signal[F, Boolean], exitWith: Ref[F, ExitCode]): Stream[F, ExitCode]
Runs the server as a Stream that emits only when the terminated signal becomes true.
Runs the server as a Stream that emits only when the terminated signal becomes true. Useful for servers with associated lifetime behaviors.
- 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[F]]
Returns the backend as a single-element stream.
Returns the backend as a single-element stream. The stream does not emit until the backend is ready to process requests. The backend is shut down when the stream is finalized.
- 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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
withBanner(banner: Seq[String]): Self
Set the banner to display when the server starts up
Set the banner to display when the server starts up
- 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]
- def withHttpApp(httpApp: 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 withResponseHeaderTimeout(responseHeaderTimeout: Duration): Self
- def withSelectorThreadFactory(selectorThreadFactory: ThreadFactory): Self
-
def
withServiceErrorHandler(serviceErrorHandler: ServiceErrorHandler[F]): Self
Sets the handler for errors thrown invoking the service.
Sets the handler for errors thrown invoking the service. Is not guaranteed to be invoked on errors on the server backend, such as parsing a request or handling a context timeout.
- 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
SSLContext
and its defaultSSLParameters
-
def
withSslContextAndParameters(sslContext: SSLContext, sslParameters: SSLParameters): Self
Configures the server with TLS, using the provided
SSLContext
andSSLParameters
. -
def
withTcpNoDelay(tcpNoDelay: Boolean): Self
- Definition Classes
- BlazeBackendBuilder
- def withWebSockets(enableWebsockets: Boolean): Self
-
final
def
withoutBanner: Self
Disable the banner when the server starts up
Disable the banner when the server starts up
- Definition Classes
- ServerBuilder
- def withoutSsl: Self
Deprecated Value Members
-
def
withNio2(isNio2: Boolean): Self
- Annotations
- @deprecated
- Deprecated
(Since version 0.21.17) NIO2 support in http4s-blaze-server will be removed in 0.22.
-
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
SSLContext
from the first four parameters and usewithSslContext
(note lowercase). To also request client certificates, usewithSslContextAndParameters, calling either
.setWantClientAuth(true)or
setNeedClientAuth(true)on the
SSLParameters.
-
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)or
setNeedClientAuth(true)on the
SSLParameters.