Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 // Copyright 2010 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
 // You may obtain a copy of the License at
 //
 // http://www.apache.org/licenses/LICENSE-2.0
 //
 // Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package org.apache.tapestry5.services.assets;
Handler for asset requests, which expose some kind of org.apache.tapestry5.Asset to the user agent (i.e., the client web browser). Starting in Tapestry 5.2, asset paths are more structured, consisting of four parts:
  • /assets/ -- the root path for all assets
  • application version -- the application version, as defined by the org.apache.tapestry5.SymbolConstants.APPLICATION_VERSION symbol
  • handler id -- a handler for this part of the asset path (defined by contributions to the AssetDispatcher service)
  • extra path -- additional path beyond the handler id, used to identify the specific resource

So, an example path might be /assets/1.0.1/corelib/components/select.png. The handler id would be corelib, and the extra path would be components/select.png.

public 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 org.apache.tapestry5.services.Response.getOutputStream(java.lang.String)) or an error response (via org.apache.tapestry5.services.Response.sendError(int,java.lang.String)). It is the handler's responsibility to allow for client-side caching (possibly sending an javax.servlet.http.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 javax.servlet.http.HttpServletResponse.SC_NOT_FOUND response.

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 handler, false if asset not found
    boolean handleAssetRequest(Request requestResponse responseString extraPaththrows IOException;
New to GrepCode? Check out our FAQ X