play.mvc

## Class Http.Request

- java.lang.Object
- - play.mvc.Http.Request

- All Implemented Interfaces:
    java.io.Serializable
  Enclosing class:
    Http

      public static class Http.Request
      extends java.lang.Object
      implements java.io.Serializable

  An HTTP Request
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `java.lang.String` | `action` Full action (ex: Application.index)
    `java.lang.String` | `actionMethod` Action method name
    `java.util.Map<java.lang.String,java.lang.Object>` | `args` Free space to store your request specific data
    `java.io.InputStream` | `body` Body stream
    `java.lang.String` | `contentType` Request content-type
    `java.lang.String` | `controller` Controller to invoke
    `java.lang.Class<? extends PlayController>` | `controllerClass` The invoked controller class
    `PlayController` | `controllerInstance` The instance of invoked controller in case it uses non-static action methods.
    `java.util.Map<java.lang.String,Http.Cookie>` | `cookies` HTTP Cookies
    `static java.lang.ThreadLocal<Http.Request>` | `current` Bind to thread
    `java.util.Date` | `date` When the request has been received
    `java.lang.String` | `domain` Server domain
    `java.lang.String` | `encoding` This is the encoding used to decode this request.
    `java.lang.String` | `format` Format (html,xml,json,text)
    `java.util.Map<java.lang.String,Http.Header>` | `headers` HTTP Headers
    `java.lang.String` | `host` Server host
    `java.lang.reflect.Method` | `invokedMethod` The really invoker Java method
    `boolean` | `isLoopback` Request comes from loopback interface
    `boolean` | `isNew` New request or already submitted
    `java.lang.String` | `method` HTTP method
    `Scope.Params` | `params` Params
    `java.lang.String` | `password` HTTP Basic Password
    `java.lang.String` | `path` Request path
    `java.lang.Integer` | `port` HTTP port
    `java.lang.String` | `querystring` QueryString
    `java.lang.String` | `remoteAddress` Client address
    `java.util.Map<java.lang.String,java.lang.String>` | `routeArgs` Additional HTTP params extracted from route
    `java.lang.Boolean` | `secure` is HTTPS ?
    `java.lang.String` | `url` URL path (excluding scheme, host and port), starting with '/' Example: With this full URL `http://localhost:9000/path0/path1` => url will be `/path0/path1`
    `java.lang.String` | `user` HTTP Basic User

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Request()` Deprecated.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `_init()` Deprecated.
    `java.util.List<java.lang.String>` | `acceptLanguage()` Return the languages requested by the browser, ordered by preference (preferred first).
    `protected void` | `authorizationInit()`
    `static Http.Request` | `createRequest(java.lang.String _remoteAddress, java.lang.String _method, java.lang.String _path, java.lang.String _querystring, java.lang.String _contentType, java.io.InputStream _body, java.lang.String _url, java.lang.String _host, boolean _isLoopback, int _port, java.lang.String _domain, boolean _secure, java.util.Map<java.lang.String,Http.Header> _headers, java.util.Map<java.lang.String,Http.Cookie> _cookies)` All creation / initiating of new requests should use this method.
    `static Http.Request` | `current()` Retrieve the current request
    `Http.Request` | `get()` Useful because we sometime use a lazy request loader
    `java.lang.String` | `getBase()` Get the request base (ex: http://localhost:9000
    `boolean` | `isAjax()` This request was sent by an Ajax framework.
    `boolean` | `isModified(java.lang.String etag, long last)`
    `protected void` | `parseXForwarded()`
    `void` | `resolveFormat()` Automatically resolve request format from the Accept header (in this order : html > xml > json > text)
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### host

          public java.lang.String host

      Server host

    - #### path

          public java.lang.String path

      Request path

    - #### querystring

          public java.lang.String querystring

      QueryString

    - #### url

          public java.lang.String url

      URL path (excluding scheme, host and port), starting with '/'
      Example:
      With this full URL `http://localhost:9000/path0/path1`
      => url will be `/path0/path1`

    - #### method

          public java.lang.String method

      HTTP method

    - #### domain

          public java.lang.String domain

      Server domain

    - #### remoteAddress

          public java.lang.String remoteAddress

      Client address

    - #### contentType

          public java.lang.String contentType

      Request content-type

    - #### encoding

          public java.lang.String encoding

      This is the encoding used to decode this request. If encoding-info is not found in request, then Play.defaultWebEncoding is used

    - #### controller

          public java.lang.String controller

      Controller to invoke

    - #### actionMethod

          public java.lang.String actionMethod

      Action method name

    - #### port

          public java.lang.Integer port

      HTTP port

    - #### secure

          public java.lang.Boolean secure

      is HTTPS ?

    - #### headers

          public java.util.Map<java.lang.String,Http.Header> headers

      HTTP Headers

    - #### cookies

          public java.util.Map<java.lang.String,Http.Cookie> cookies

      HTTP Cookies

    - #### body

          public transient java.io.InputStream body

      Body stream

    - #### routeArgs

          public java.util.Map<java.lang.String,java.lang.String> routeArgs

      Additional HTTP params extracted from route

    - #### format

          public java.lang.String format

      Format (html,xml,json,text)

    - #### action

          public java.lang.String action

      Full action (ex: Application.index)

    - #### current

          public static final java.lang.ThreadLocal<Http.Request> current

      Bind to thread

    - #### invokedMethod

          public transient java.lang.reflect.Method invokedMethod

      The really invoker Java method

    - #### controllerClass

          public transient java.lang.Class<? extends PlayController> controllerClass

      The invoked controller class

    - #### controllerInstance

          public transient PlayController controllerInstance

      The instance of invoked controller in case it uses non-static action methods.

    - #### args

          public java.util.Map<java.lang.String,java.lang.Object> args

      Free space to store your request specific data

    - #### date

          public java.util.Date date

      When the request has been received

    - #### isNew

          public boolean isNew

      New request or already submitted

    - #### user

          public java.lang.String user

      HTTP Basic User

    - #### password

          public java.lang.String password

      HTTP Basic Password

    - #### isLoopback

          public boolean isLoopback

      Request comes from loopback interface

    - #### params

          public final Scope.Params params

      Params

  - ### Constructor Detail

    - #### Request

          @Deprecated
          public Request()

      Deprecated.
      Deprecate the default constructor to encourage the use of createRequest() when creating new requests. Cannot hide it with protected because we have to be backward compatible with modules - ie PlayGrizzlyAdapter.java

  - ### Method Detail

    - #### createRequest

          public static Http.Request createRequest(java.lang.String _remoteAddress,
                                                   java.lang.String _method,
                                                   java.lang.String _path,
                                                   java.lang.String _querystring,
                                                   java.lang.String _contentType,
                                                   java.io.InputStream _body,
                                                   java.lang.String _url,
                                                   java.lang.String _host,
                                                   boolean _isLoopback,
                                                   int _port,
                                                   java.lang.String _domain,
                                                   boolean _secure,
                                                   java.util.Map<java.lang.String,Http.Header> _headers,
                                                   java.util.Map<java.lang.String,Http.Cookie> _cookies)

      All creation / initiating of new requests should use this method. The purpose of this is to "show" what is needed when creating new Requests.
      Parameters:
        `_remoteAddress` - The remote IP address
        `_method` - the Method
        `_path` - path
        `_querystring` - The query String
        `_contentType` - The content Type
        `_body` - The request body
        `_url` - The request URL
        `_host` - The request host
        `_isLoopback` - Indicate if the request comes from loopback interface
        `_port` - The request port
        `_domain` - The request domain
        `_secure` - Indicate is request is secure or not
        `_headers` - The request headers
        `_cookies` - The request cookies
      Returns:
        the newly created Request object

    - #### parseXForwarded

          protected void parseXForwarded()

    - #### _init

          @Deprecated
          public void _init()

      Deprecated.
      Deprecated to encourage users to use createRequest() instead.

    - #### authorizationInit

          protected void authorizationInit()

    - #### resolveFormat

          public void resolveFormat()

      Automatically resolve request format from the Accept header (in this order : html > xml > json > text)

    - #### current

          public static Http.Request current()

      Retrieve the current request
      Returns:
        the current request

    - #### get

          public Http.Request get()

      Useful because we sometime use a lazy request loader
      Returns:
        itself

    - #### isAjax

          public boolean isAjax()

      This request was sent by an Ajax framework. (rely on the X-Requested-With header).
      Returns:
        True is the request is an Ajax, false otherwise

    - #### getBase

          public java.lang.String getBase()

      Get the request base (ex: http://localhost:9000
      Returns:
        the request base of the url (protocol, host and port)

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### acceptLanguage

          public java.util.List<java.lang.String> acceptLanguage()

      Return the languages requested by the browser, ordered by preference (preferred first). If no Accept-Language header is present, an empty list is returned.
      Returns:
        Language codes in order of preference, e.g. "en-us,en-gb,en,de".

    - #### isModified

          public boolean isModified(java.lang.String etag,
                                    long last)

Guillaume Bort & zenexity - Distributed under Apache 2 licence, without any warrantly