object Server
Utilities for creating a server that runs around a block of code.
- Source
- Server.scala
- Alphabetic
- By Inheritance
- Server
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- def withApplication[T](application: api.Application, config: ServerConfig = ServerConfig(port = Some(0), mode = Mode.Test))(block: (Port) => T)(implicit provider: ServerProvider): T
Run a block of code with a server for the given application.
Run a block of code with a server for the given application.
The passed in block takes the port that the application is running on. By default, this will be a random ephemeral port. This can be changed by passing in an explicit port with the config parameter.
- application
The application for the server to server.
- config
The configuration for the server. Defaults to test config with the http port bound to a random ephemeral port.
- block
The block of code to run.
- provider
The server provider.
- returns
The result of the block of code.
- def withApplicationFromContext[T](config: ServerConfig = ServerConfig(port = Some(0), mode = Mode.Test))(appProducer: (Context) => api.Application)(block: (Port) => T)(implicit provider: ServerProvider): T
Run a block of code with a server for the application containing routes.
Run a block of code with a server for the application containing routes.
The passed in block takes the port that the application is running on. By default, this will be a random ephemeral port. This can be changed by passing in an explicit port with the config parameter.
An easy way to set up an application with given routes is to use play.api.BuiltInComponentsFromContext with any extra components needed:
Server.withApplicationFromContext(ServerConfig(mode = Mode.Prod, port = Some(0))) { context => new BuiltInComponentsFromContext(context) with AssetsComponents with play.filters.HttpFiltersComponents { override def router: Router = Router.from { case req => assets.versioned("/testassets", req.path) } }.application } { withClient(block)(_) }
- config
The configuration for the server. Defaults to test config with the http port bound to a random ephemeral port.
- appProducer
A function that takes an ApplicationLoader.Context and produces play.api.Application
- block
The block of code to run.
- provider
The server provider.
- returns
The result of the block of code.
- def withRouter[T](config: ServerConfig = ServerConfig(port = Some(0), mode = Mode.Test))(routes: PartialFunction[RequestHeader, Handler])(block: (Port) => T)(implicit provider: ServerProvider): T
Run a block of code with a server for the given routes.
Run a block of code with a server for the given routes.
The passed in block takes the port that the application is running on. By default, this will be a random ephemeral port. This can be changed by passing in an explicit port with the config parameter.
- config
The configuration for the server. Defaults to test config with the http port bound to a random ephemeral port.
- routes
The routes for the server to server.
- block
The block of code to run.
- provider
The server provider.
- returns
The result of the block of code.
- def withRouterFromComponents[T](config: ServerConfig = ServerConfig(port = Some(0), mode = Mode.Test))(routes: (api.BuiltInComponents) => PartialFunction[RequestHeader, Handler])(block: (Port) => T)(implicit provider: ServerProvider): T
Run a block of code with a server for the given routes, obtained from the application components
Run a block of code with a server for the given routes, obtained from the application components
The passed in block takes the port that the application is running on. By default, this will be a random ephemeral port. This can be changed by passing in an explicit port with the config parameter.
- config
The configuration for the server. Defaults to test config with the http port bound to a random ephemeral port.
- routes
A function that obtains the routes from the server from the application components.
- block
The block of code to run.
- provider
The server provider.
- returns
The result of the block of code.
- case object ServerStoppedReason extends Reason with Product with Serializable