Interface AssetRequestHandler

All Known Implementing Classes:
ClasspathAssetRequestHandler, ContextAssetRequestHandler, StackAssetRequestHandler

public interface AssetRequestHandler
Handler for asset requests, which expose some kind of Asset to the user agent (i.e., the client web browser). When contributed to the AssetDispatcher service, the contributed key is a handler id (such as "meta/core"). An example request path might be /assets/meta/core/dd8d73ac51dbab28caaec4865d302bf2/deselect.png. The handler id would be meta/core, the checksum of the resource content is the hex string, and the extra path would be select.png.
Since:
5.2.0
See Also:
  • 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.
  • Method Details

    • handleAssetRequest

      boolean handleAssetRequest(Request request, Response response, String extraPath) throws IOException
      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).
      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