RoutingHttpRequestHandler

uk.gov.hmrc.api.sandbox.RoutingHttpRequestHandler
@Singleton
class RoutingHttpRequestHandler(webCommands: WebCommands, optDevContext: OptionalDevContext, router: Router, errorHandler: HttpErrorHandler, configuration: HttpConfiguration, filters: HttpFilters, runConfiguration: Configuration) extends RequestHandler

Attributes

Graph
Supertypes
class RequestHandler
class DefaultHttpRequestHandler
trait HttpRequestHandler
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def overrideRouting(request: RequestHeader): RequestHeader
override def routeRequest(request: RequestHeader): Option[Handler]

Called when an HTTP request has been received.

Called when an HTTP request has been received.

The default is to use the application router to find the appropriate action.

This method can be overridden if you want to provide some custom routing strategies, for example, using different routers based on various request parameters.

Value parameters

request

The request

Attributes

Returns

A handler to handle the request, if one can be found

Definition Classes
RequestHandler -> DefaultHttpRequestHandler

Inherited methods

def asJava: JavaHttpRequestHandlerDelegate

Adapt this to a Java HttpRequestHandler

Adapt this to a Java HttpRequestHandler

Attributes

Inherited from:
HttpRequestHandler
override def handlerForRequest(request: RequestHeader): (RequestHeader, Handler)

Get a handler for the given request.

Get a handler for the given request.

In addition to retrieving a handler for the request, the request itself may be modified - typically it will be tagged with routing information. It is also acceptable to simply return the request as is. Play will switch to using the returned request from this point in in its request handling.

The reason why the API allows returning a modified request, rather than just wrapping the Handler in a new Handler that modifies the request, is so that Play can pass this request to other handlers, such as error handlers, or filters, and they will get the tagged/modified request.

Value parameters

request

The request to handle

Attributes

Returns

The possibly modified/tagged request, and a handler to handle it

Definition Classes
DefaultHttpRequestHandler -> HttpRequestHandler
Inherited from:
DefaultHttpRequestHandler

Concrete fields

lazy val header: Option[String]
protected val logger: Logger
lazy val prefix: Option[String]
lazy val regex: Option[String]
lazy val routing: Option[(String, String, String)]