Class WrapperRequest


public class WrapperRequest extends Request
Request wrapper. Useful for application developer who need to enrich the request with application related properties and behavior.
Author:
Jerome Louvel
See Also:
  • Constructor Details

    • WrapperRequest

      public WrapperRequest(Request wrappedRequest)
      Constructor.
      Parameters:
      wrappedRequest - The wrapped request.
  • Method Details

    • abort

      public boolean abort()
      Description copied from class: Request
      Ask the connector to attempt to abort the related network connection, for example immediately closing the socket.
      Overrides:
      abort in class Request
      Returns:
      True if the request was aborted.
    • commit

      public void commit(Response response)
      Description copied from class: Request
      Asks the server connector to immediately commit the given response associated to this request, making it ready to be sent back to the client. Note that all server connectors don't necessarily support this feature.
      Overrides:
      commit in class Request
      Parameters:
      response - The response to commit.
    • getAttributes

      public ConcurrentMap<String,Object> getAttributes()
      Returns a modifiable attributes map that can be used by developers to save information relative to the message. This is an easier alternative to the creation of a wrapper instance around the whole message.

      In addition, this map is a shared space between the developer and the connectors. In this case, it is used to exchange information that is not uniform across all protocols and couldn't therefore be directly included in the API. For this purpose, all attribute names starting with "org.restlet" are reserved. Currently the following attributes are used:
      list of supported attributes
      Attribute name Class name Description
      org.restlet.http.headers org.restlet.data.Form Server HTTP connectors must provide all request headers and client HTTP connectors must provide all response headers, exactly as they were received. In addition, developers can also use this attribute to specify non-standard headers that should be added to the request or to the response.
      Adding standard HTTP headers is forbidden because it could conflict with the connector's internal behavior, limit portability or prevent future optimizations.
      Overrides:
      getAttributes in class Message
      Returns:
      The modifiable attributes map.
    • getChallengeResponse

      public ChallengeResponse getChallengeResponse()
      Returns the authentication response sent by a client to an origin server.
      Overrides:
      getChallengeResponse in class Request
      Returns:
      The authentication response sent by a client to an origin server.
    • getClientInfo

      public ClientInfo getClientInfo()
      Returns the client-specific information.
      Overrides:
      getClientInfo in class Request
      Returns:
      The client-specific information.
    • getConditions

      public Conditions getConditions()
      Returns the conditions applying to this call.
      Overrides:
      getConditions in class Request
      Returns:
      The conditions applying to this call.
    • getCookies

      public Series<Cookie> getCookies()
      Returns the cookies provided by the client.
      Overrides:
      getCookies in class Request
      Returns:
      The cookies provided by the client.
    • getEntity

      public Representation getEntity()
      Returns the entity representation.
      Overrides:
      getEntity in class Message
      Returns:
      The entity representation.
    • getHostRef

      public Reference getHostRef()
      Returns the host reference. This may be different from the resourceRef's host, for example for URNs and other URIs that don't contain host information.
      Overrides:
      getHostRef in class Request
      Returns:
      The host reference.
    • getMaxForwards

      public int getMaxForwards()
      Description copied from class: Request
      Returns the maximum number of intermediaries.
      Overrides:
      getMaxForwards in class Request
      Returns:
      The maximum number of intermediaries.
    • getMethod

      public Method getMethod()
      Returns the method.
      Overrides:
      getMethod in class Request
      Returns:
      The method.
    • getOnResponse

      public Uniform getOnResponse()
      Description copied from class: Request
      Returns the callback invoked on response reception. If the value is not null, then the associated request will be executed asynchronously.
      Overrides:
      getOnResponse in class Request
      Returns:
      The callback invoked on response reception.
    • getOriginalRef

      public Reference getOriginalRef()
      Description copied from class: Request
      Returns the original reference as requested by the client. Note that this property is not used during request routing. See the Request.getResourceRef() method for details.
      Overrides:
      getOriginalRef in class Request
      Returns:
      The original reference.
      See Also:
    • getProtocol

      public Protocol getProtocol()
      Returns the protocol by first returning the baseRef.schemeProtocol property if it is set, or the resourceRef.schemeProtocol property otherwise.
      Overrides:
      getProtocol in class Request
      Returns:
      The protocol or null if not available.
    • getProxyChallengeResponse

      public ChallengeResponse getProxyChallengeResponse()
      Returns the authentication response sent by a client to a proxy.
      Overrides:
      getProxyChallengeResponse in class Request
      Returns:
      The authentication response sent by a client to a proxy.
    • getRanges

      public List<Range> getRanges()
      Description copied from class: Request
      Returns the ranges to return from the target resource's representation. Note that when used with HTTP connectors, this property maps to the "Range" header.
      Overrides:
      getRanges in class Request
      Returns:
      The ranges to return.
    • getReferrerRef

      public Reference getReferrerRef()
      Returns the referrer reference if available.
      Overrides:
      getReferrerRef in class Request
      Returns:
      The referrer reference.
    • getResourceRef

      public Reference getResourceRef()
      Returns the reference of the target resource.
      Overrides:
      getResourceRef in class Request
      Returns:
      The reference of the target resource.
      See Also:
    • getRootRef

      public Reference getRootRef()
      Returns the application root reference.
      Overrides:
      getRootRef in class Request
      Returns:
      The application root reference.
    • getWrappedRequest

      protected Request getWrappedRequest()
      Returns the wrapped request.
      Returns:
      The wrapped request.
    • getAccessControlRequestHeaders

      public Set<String> getAccessControlRequestHeaders()
      Returns the access control request headers of the target resource.
      Overrides:
      getAccessControlRequestHeaders in class Request
      Returns:
      The access control request headers of the target resource.
    • getAccessControlRequestMethod

      public Method getAccessControlRequestMethod()
      Returns the access control request method of the target resource.
      Overrides:
      getAccessControlRequestMethod in class Request
      Returns:
      The access control request method of the target resource.
    • isAsynchronous

      public boolean isAsynchronous()
      Description copied from class: Request
      Indicates if the request is asynchronous. The test consist in verifying that the Request.getOnResponse() method returns a callback object.
      Overrides:
      isAsynchronous in class Request
      Returns:
      True if the request is synchronous.
    • isConfidential

      public boolean isConfidential()
      Indicates if the call came over a confidential channel such as an SSL-secured connection.
      Overrides:
      isConfidential in class Request
      Returns:
      True if the call came over a confidential channel.
    • isEntityAvailable

      public boolean isEntityAvailable()
      Indicates if a content is available and can be sent. Several conditions must be met: the method must allow the sending of content, the content must exists and have some available data.
      Overrides:
      isEntityAvailable in class Request
      Returns:
      True if a content is available and can be sent.
    • isExpectingResponse

      public boolean isExpectingResponse()
      Description copied from class: Request
      Indicates if an associated response is expected.
      Overrides:
      isExpectingResponse in class Request
      Returns:
      True if an associated response is expected.
    • isSynchronous

      public boolean isSynchronous()
      Description copied from class: Request
      Indicates if the request is synchronous. The test consist in verifying that the Request.getOnResponse() method returns null.
      Overrides:
      isSynchronous in class Request
      Returns:
      True if the request is synchronous.
    • setChallengeResponse

      public void setChallengeResponse(ChallengeResponse response)
      Sets the authentication response sent by a client to an origin server.
      Overrides:
      setChallengeResponse in class Request
      Parameters:
      response - The authentication response sent by a client to an origin server.
    • setClientInfo

      public void setClientInfo(ClientInfo clientInfo)
      Description copied from class: Request
      Sets the client-specific information.
      Overrides:
      setClientInfo in class Request
      Parameters:
      clientInfo - The client-specific information.
    • setConditions

      public void setConditions(Conditions conditions)
      Description copied from class: Request
      Sets the conditions applying to this request.
      Overrides:
      setConditions in class Request
      Parameters:
      conditions - The conditions applying to this request.
    • setCookies

      public void setCookies(Series<Cookie> cookies)
      Description copied from class: Request
      Sets the modifiable series of cookies provided by the client. Note that when used with HTTP connectors, this property maps to the "Cookie" header. This method clears the current series and adds all entries in the parameter series.
      Overrides:
      setCookies in class Request
      Parameters:
      cookies - A series of cookies provided by the client.
    • setEntity

      public void setEntity(Representation entity)
      Sets the entity representation.
      Overrides:
      setEntity in class Message
      Parameters:
      entity - The entity representation.
    • setEntity

      public void setEntity(String value, MediaType mediaType)
      Sets a textual entity.
      Overrides:
      setEntity in class Message
      Parameters:
      value - The represented string.
      mediaType - The representation's media type.
    • setHostRef

      public void setHostRef(Reference hostRef)
      Sets the host reference.
      Overrides:
      setHostRef in class Request
      Parameters:
      hostRef - The host reference.
    • setHostRef

      public void setHostRef(String hostUri)
      Sets the host reference using an URI string.
      Overrides:
      setHostRef in class Request
      Parameters:
      hostUri - The host URI.
    • setMaxForwards

      public void setMaxForwards(int maxForwards)
      Description copied from class: Request
      Sets the maximum number of intermediaries.
      Overrides:
      setMaxForwards in class Request
      Parameters:
      maxForwards - The maximum number of intermediaries.
    • setMethod

      public void setMethod(Method method)
      Sets the method called.
      Overrides:
      setMethod in class Request
      Parameters:
      method - The method called.
    • setOnResponse

      public void setOnResponse(Uniform onResponseCallback)
      Description copied from class: Request
      Sets the callback invoked on response reception. If the value is not null, then the associated request will be executed asynchronously.
      Overrides:
      setOnResponse in class Request
      Parameters:
      onResponseCallback - The callback invoked on response reception.
    • setOriginalRef

      public void setOriginalRef(Reference originalRef)
      Description copied from class: Request
      Sets the original reference requested by the client.
      Overrides:
      setOriginalRef in class Request
      Parameters:
      originalRef - The original reference.
      See Also:
    • setProtocol

      public void setProtocol(Protocol protocol)
      Description copied from class: Request
      Sets the protocol used or to be used.
      Overrides:
      setProtocol in class Request
      Parameters:
      protocol - The protocol used or to be used.
    • setProxyChallengeResponse

      public void setProxyChallengeResponse(ChallengeResponse response)
      Sets the authentication response sent by a client to a proxy.
      Overrides:
      setProxyChallengeResponse in class Request
      Parameters:
      response - The authentication response sent by a client to a proxy.
    • setRanges

      public void setRanges(List<Range> ranges)
      Description copied from class: Request
      Sets the modifiable list of ranges to return from the target resource's representation. Note that when used with HTTP connectors, this property maps to the "Range" header. This method clears the current list and adds all entries in the parameter list.
      Overrides:
      setRanges in class Request
      Parameters:
      ranges - A list of ranges.
    • setReferrerRef

      public void setReferrerRef(Reference referrerRef)
      Sets the referrer reference if available.
      Overrides:
      setReferrerRef in class Request
      Parameters:
      referrerRef - The referrer reference.
    • setReferrerRef

      public void setReferrerRef(String referrerUri)
      Sets the referrer reference if available using an URI string.
      Overrides:
      setReferrerRef in class Request
      Parameters:
      referrerUri - The referrer URI.
      See Also:
    • setResourceRef

      public void setResourceRef(Reference resourceRef)
      Sets the target resource reference. If the reference is relative, it will be resolved as an absolute reference. Also, the context's base reference will be reset. Finally, the reference will be normalized to ensure a consistent handling of the call.
      Overrides:
      setResourceRef in class Request
      Parameters:
      resourceRef - The resource reference.
      See Also:
    • setResourceRef

      public void setResourceRef(String resourceUri)
      Sets the target resource reference using an URI string. Note that the URI can be either absolute or relative to the context's base reference.
      Overrides:
      setResourceRef in class Request
      Parameters:
      resourceUri - The resource URI.
      See Also:
    • setRootRef

      public void setRootRef(Reference rootRef)
      Sets the application root reference.
      Overrides:
      setRootRef in class Request
      Parameters:
      rootRef - The application root reference.
    • setAccessControlRequestHeaders

      public void setAccessControlRequestHeaders(Set<String> accessControlRequestHeaders)
      Sets the access control request headers of the target resource.
      Overrides:
      setAccessControlRequestHeaders in class Request
      Parameters:
      accessControlRequestHeaders - The access control request headers of the target resource.
    • setAccessControlRequestMethod

      public void setAccessControlRequestMethod(Method accessControlRequestMethod)
      Sets the access control request method of the target resource.
      Overrides:
      setAccessControlRequestMethod in class Request
      Parameters:
      accessControlRequestMethod - The access control request method of the target resource.
    • toString

      public String toString()
      Description copied from class: Request
      Displays a synthesis of the request like an HTTP request line.
      Overrides:
      toString in class Request
      Returns:
      A synthesis of the request like an HTTP request line.