XForwardedTrustImmediateConnectionRequestHandler

com.digitaltangible.playguard.XForwardedTrustImmediateConnectionRequestHandler
class XForwardedTrustImmediateConnectionRequestHandler(router: Provider[Router], errorHandler: HttpErrorHandler, configuration: HttpConfiguration, filters: Seq[EssentialFilter]) extends DefaultHttpRequestHandler, HeaderNames

Custom RequestHandler to replace the immediate connection with the last IP address in the X-Forwarded-For header, if available. This is meant for scenarios where you don't know your immediate connection's IP address beforehand (to configure it as a trusted proxy) but can still trust it, e.g. on Heroku. Does not support RFC 7239.

Attributes

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

Members list

Value members

Concrete methods

override def handlerForRequest(rh: 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 methods

def asJava: JavaHttpRequestHandlerDelegate

Adapt this to a Java HttpRequestHandler

Adapt this to a Java HttpRequestHandler

Attributes

Inherited from:
HttpRequestHandler
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

Inherited from:
DefaultHttpRequestHandler

Inherited fields

val ACCEPT: String

Attributes

Inherited from:
HeaderNames
val ACCEPT_CHARSET: String

Attributes

Inherited from:
HeaderNames
val ACCEPT_ENCODING: String

Attributes

Inherited from:
HeaderNames
val ACCEPT_LANGUAGE: String

Attributes

Inherited from:
HeaderNames
val ACCEPT_RANGES: String

Attributes

Inherited from:
HeaderNames

Attributes

Inherited from:
HeaderNames

Attributes

Inherited from:
HeaderNames

Attributes

Inherited from:
HeaderNames

Attributes

Inherited from:
HeaderNames

Attributes

Inherited from:
HeaderNames

Attributes

Inherited from:
HeaderNames

Attributes

Inherited from:
HeaderNames

Attributes

Inherited from:
HeaderNames
val AGE: String

Attributes

Inherited from:
HeaderNames
val ALLOW: String

Attributes

Inherited from:
HeaderNames
val AUTHORIZATION: String

Attributes

Inherited from:
HeaderNames
val CACHE_CONTROL: String

Attributes

Inherited from:
HeaderNames
val CONNECTION: String

Attributes

Inherited from:
HeaderNames
val CONTENT_DISPOSITION: String

Attributes

Inherited from:
HeaderNames
val CONTENT_ENCODING: String

Attributes

Inherited from:
HeaderNames
val CONTENT_LANGUAGE: String

Attributes

Inherited from:
HeaderNames
val CONTENT_LENGTH: String

Attributes

Inherited from:
HeaderNames
val CONTENT_LOCATION: String

Attributes

Inherited from:
HeaderNames
val CONTENT_MD5: String

Attributes

Inherited from:
HeaderNames
val CONTENT_RANGE: String

Attributes

Inherited from:
HeaderNames

Attributes

Inherited from:
HeaderNames

Attributes

Inherited from:
HeaderNames

Attributes

Inherited from:
HeaderNames
val CONTENT_TYPE: String

Attributes

Inherited from:
HeaderNames
val DATE: String

Attributes

Inherited from:
HeaderNames
val ETAG: String

Attributes

Inherited from:
HeaderNames
val EXPECT: String

Attributes

Inherited from:
HeaderNames
val EXPIRES: String

Attributes

Inherited from:
HeaderNames
val FORWARDED: String

Attributes

Inherited from:
HeaderNames
val FROM: String

Attributes

Inherited from:
HeaderNames
val HOST: String

Attributes

Inherited from:
HeaderNames
val IF_MATCH: String

Attributes

Inherited from:
HeaderNames
val IF_MODIFIED_SINCE: String

Attributes

Inherited from:
HeaderNames
val IF_NONE_MATCH: String

Attributes

Inherited from:
HeaderNames
val IF_RANGE: String

Attributes

Inherited from:
HeaderNames
val IF_UNMODIFIED_SINCE: String

Attributes

Inherited from:
HeaderNames
val LAST_MODIFIED: String

Attributes

Inherited from:
HeaderNames
val LOCATION: String

Attributes

Inherited from:
HeaderNames
val MAX_FORWARDS: String

Attributes

Inherited from:
HeaderNames
val ORIGIN: String

Attributes

Inherited from:
HeaderNames
val PRAGMA: String

Attributes

Inherited from:
HeaderNames
val PROXY_AUTHENTICATE: String

Attributes

Inherited from:
HeaderNames
val PROXY_AUTHORIZATION: String

Attributes

Inherited from:
HeaderNames
val RANGE: String

Attributes

Inherited from:
HeaderNames
val REFERER: String

Attributes

Inherited from:
HeaderNames
val REFERRER_POLICY: String

Attributes

Inherited from:
HeaderNames
val RETRY_AFTER: String

Attributes

Inherited from:
HeaderNames
val SERVER: String

Attributes

Inherited from:
HeaderNames
val SET_COOKIE2: String

Attributes

Inherited from:
HeaderNames

Attributes

Inherited from:
HeaderNames
val TE: String

Attributes

Inherited from:
HeaderNames
val TRAILER: String

Attributes

Inherited from:
HeaderNames
val TRANSFER_ENCODING: String

Attributes

Inherited from:
HeaderNames
val UPGRADE: String

Attributes

Inherited from:
HeaderNames
val USER_AGENT: String

Attributes

Inherited from:
HeaderNames
val VARY: String

Attributes

Inherited from:
HeaderNames
val VIA: String

Attributes

Inherited from:
HeaderNames
val WARNING: String

Attributes

Inherited from:
HeaderNames
val WWW_AUTHENTICATE: String

Attributes

Inherited from:
HeaderNames

Attributes

Inherited from:
HeaderNames

Attributes

Inherited from:
HeaderNames
val X_FORWARDED_FOR: String

Attributes

Inherited from:
HeaderNames
val X_FORWARDED_HOST: String

Attributes

Inherited from:
HeaderNames
val X_FORWARDED_PORT: String

Attributes

Inherited from:
HeaderNames
val X_FORWARDED_PROTO: String

Attributes

Inherited from:
HeaderNames
val X_FRAME_OPTIONS: String

Attributes

Inherited from:
HeaderNames

Attributes

Inherited from:
HeaderNames
val X_REQUESTED_WITH: String

Attributes

Inherited from:
HeaderNames
val X_XSS_PROTECTION: String

Attributes

Inherited from:
HeaderNames