Package org.apache.tapestry5.internal.services.assets

# Class ContextAssetRequestHandler

java.lang.Object
org.apache.tapestry5.internal.services.assets.ContextAssetRequestHandler

All Implemented Interfaces:
  `AssetRequestHandler`

public class ContextAssetRequestHandler extends Object implements AssetRequestHandler
Handles requests for context assets, screening out attempt to access anything under WEB-INF or META-INF.

Since:
  5.2.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ContextAssetRequestHandler(ResourceStreamer resourceStreamer, Resource rootContextResource)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `handleAssetRequest(Request request, Response response, String extraPath)`
  Given a request targeted (via the handler id) to the specific handler, process the request.

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

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

- ## Constructor Details

  - ### ContextAssetRequestHandler

    public ContextAssetRequestHandler(ResourceStreamer resourceStreamer, Resource rootContextResource)

- ## Method Details

  - ### handleAssetRequest

    public boolean handleAssetRequest(Request request, Response response, String extraPath) throws IOException
    Description copied from interface: `AssetRequestHandler`
    Given a request targeted (via the handler id) to the specific handler, process the request. The handler is responsible for processing the request, sending back either a bytestream (via `Response.getOutputStream(String)`) or an error response (via `Response.sendError(int, String)`). It is the handler's responsibility to allow for client-side caching (possibly sending an `HttpServletResponse.SC_NOT_MODIFIED` response). The handler should return true if it provided a response. If the handler returns false, this indicates that the extra path did not identify a known asset (virtual or otherwise) and the AssetDispatcher service should send a `HttpServletResponse.SC_NOT_FOUND` response. Starting in Tapestry 5.4, the handler is informed by the `AssetRequestDispatcher` whether or not the content should be compressed (this is determined based on information in the URL).
    Specified by:
      `handleAssetRequest` in interface `AssetRequestHandler`
    Parameters:
      `request` - incoming asset request
      `response` - used to send a response to client
      `extraPath` - additional path to identify the specific asset
    Returns:
      true if request was handled (and response sent), false if asset not found
    Throws:
      `IOException`