sealed class JettyBuilder[F[_]] extends ServletContainer[F] with ServerBuilder[F]
- Source
- JettyBuilder.scala
- Alphabetic
- By Inheritance
- JettyBuilder
- ServletContainer
- ServerBuilder
- BackendBuilder
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
type
Self = JettyBuilder[F]
- Definition Classes
- JettyBuilder → ServletContainer → 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
- JettyBuilder → 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
- JettyBuilder → ServerBuilder
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
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
-
def
mountFilter(filter: Filter, urlMapping: String, name: Option[String], dispatches: EnumSet[DispatcherType]): Self
Mounts a filter to the server.
Mounts a filter to the server.
The http4s way is to create a middleware around an HttpRoutes, which runs not just on servlet containers, but all supported backends. This method is good for legacy scenarios, or for reusing parts of the servlet ecosystem for an app that is committed to running on a servlet container.
- Definition Classes
- JettyBuilder → ServletContainer
- def mountHttpApp(service: HttpApp[F], prefix: String): Self
- def mountService(service: HttpRoutes[F], prefix: String): Self
-
def
mountServlet(servlet: HttpServlet, urlMapping: String, name: Option[String] = None): Self
Mounts a servlet to the server.
Mounts a servlet to the server.
The http4s way is to create HttpRoutes, which runs not just on servlet containers, but all supported backends. This method is good for legacy scenarios, or for reusing parts of the servlet ecosystem for an app that is committed to running on a servlet container.
- Definition Classes
- JettyBuilder → ServletContainer
-
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
- JettyBuilder → 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
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
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 withAsyncTimeout(asyncTimeout: Duration): Self
-
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
- JettyBuilder → ServerBuilder
-
def
withHttp2c: Self
Enables HTTP/2 connection upgrade over plain text (no TLS).
Enables HTTP/2 connection upgrade over plain text (no TLS). See https://webtide.com/introduction-to-http2-in-jetty
- def withIdleTimeout(idleTimeout: Duration): Self
-
def
withJettyHttpConfiguration(value: HttpConfiguration): Self
Provide a specific org.eclipse.jetty.server.HttpConfiguration.
Provide a specific org.eclipse.jetty.server.HttpConfiguration.
This can be used for direct low level control over many HTTP related configuration settings which http4s may not directly expose.
-
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
- JettyBuilder → ServerBuilder
-
def
withServletIo(servletIo: ServletIo[F]): Self
Sets the servlet I/O mode for reads and writes within the servlet.
Sets the servlet I/O mode for reads and writes within the servlet. Not to be confused with the server connectors.
- Definition Classes
- JettyBuilder → ServletContainer
- See also
-
def
withShutdownTimeout(shutdownTimeout: Duration): Self
Sets the graceful shutdown timeout for Jetty.
Sets the graceful shutdown timeout for Jetty. Closing the resource will wait this long before a forcible stop.
-
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
and its defaultSSLParameters
-
def
withThreadPoolResource(threadPoolResource: Resource[F, ThreadPool]): JettyBuilder[F]
Set the org.eclipse.jetty.util.thread.ThreadPool that Jetty will use.
Set the org.eclipse.jetty.util.thread.ThreadPool that Jetty will use.
It is recommended you use JettyThreadPools#resource to build this so that it will be gracefully shutdown when/if the Jetty server is shutdown.
-
final
def
withoutBanner: Self
Disable the banner when the server starts up
Disable the banner when the server starts up
- Definition Classes
- ServerBuilder
- def withoutHttp2c: Self
-
def
withoutSsl: Self
Disables SSL.
Deprecated Value Members
-
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.
-
def
withThreadPool(threadPool: ThreadPool): JettyBuilder[F]
Set the org.eclipse.jetty.util.thread.ThreadPool that Jetty will use.
Set the org.eclipse.jetty.util.thread.ThreadPool that Jetty will use.
- Annotations
- @deprecated
- Deprecated
(Since version 0.21.23) Please use withThreadPoolResource instead and see JettyThreadPools.
- Note
You should prefer #withThreadPoolResource instead of this method. If you invoke this method the provided org.eclipse.jetty.util.thread.ThreadPool will not be joined, stopped, or destroyed when/if the Jetty server stops. This is to preserve the <= 0.21.23 semantics.