object Server

Utilities for creating a server that runs around a block of code.

Source
Server.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Server
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. case object ServerStoppedReason extends Reason with Product with Serializable