Class AppCacheManifestTransformer
- java.lang.Object
- org.springframework.web.servlet.resource.ResourceTransformerSupport
- org.springframework.web.servlet.resource.AppCacheManifestTransformer
- All Implemented Interfaces:
ResourceTransformer
public class AppCacheManifestTransformer extends ResourceTransformerSupport
AResourceTransformer
implementation that helps handling resources within HTML5 AppCache manifests for HTML5 offline applications.This transformer:
- modifies links to match the public URL paths that should be exposed to clients, using configured
ResourceResolver
strategies - appends a comment in the manifest, containing a Hash (e.g. "# Hash: 9de0f09ed7caf84e885f1f0f11c7e326"), thus changing the content of the manifest in order to trigger an appcache reload in the browser.
This hash is computed using the content of the appcache manifest and the content of the linked resources; so changing a resource linked in the manifest or the manifest itself should invalidate the browser cache.
- Since:
- 4.1
- Author:
- Brian Clozel
- See Also:
- HTML5 offline applications spec
Constructor Summary
Constructors Constructor Description AppCacheManifestTransformer()
Create an AppCacheResourceTransformer that transforms files with extension ".manifest".AppCacheManifestTransformer(String fileExtension)
Create an AppCacheResourceTransformer that transforms files with the extension given as a parameter.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Resource
transform(HttpServletRequest request, Resource resource, ResourceTransformerChain transformerChain)
Transform the given resource.Methods inherited from class org.springframework.web.servlet.resource.ResourceTransformerSupport
getResourceUrlProvider, resolveUrlPath, setResourceUrlProvider
Constructor Detail
AppCacheManifestTransformer
public AppCacheManifestTransformer()
Create an AppCacheResourceTransformer that transforms files with extension ".manifest".
AppCacheManifestTransformer
public AppCacheManifestTransformer(String fileExtension)
Create an AppCacheResourceTransformer that transforms files with the extension given as a parameter.
Method Detail
transform
public Resource transform(HttpServletRequest request, Resource resource, ResourceTransformerChain transformerChain) throws IOException
Description copied from interface:ResourceTransformer
Transform the given resource.- Parameters:
request
- the current requestresource
- the resource to transformtransformerChain
- the chain of remaining transformers to delegate to- Returns:
- the transformed resource (never
null
) - Throws:
IOException
- if the transformation fails