public class AppCacheManifestTransformer extends ResourceTransformerSupport
ResourceTransformer
HTML5 AppCache manifests.
This transformer:
ResourceResolver
strategies
All files with an ".appcache" file extension (or the extension given to the constructor) will be transformed by this class. The hash is computed using the content of the appcache manifest so that changes in the manifest should invalidate the browser cache. This should also work with changes in referenced resources whose links are also versioned.
Modifier and Type | Class and Description |
---|---|
private static class |
AppCacheManifestTransformer.LineInfo |
private static class |
AppCacheManifestTransformer.LineInfoGenerator |
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
CACHE_HEADER |
private static java.nio.charset.Charset |
DEFAULT_CHARSET |
private java.lang.String |
fileExtension |
private static Log |
logger |
private static java.lang.String |
MANIFEST_HEADER |
private static java.util.Collection<java.lang.String> |
MANIFEST_SECTION_HEADERS |
Constructor and Description |
---|
AppCacheManifestTransformer()
Create an AppCacheResourceTransformer that transforms files with extension ".appcache".
|
AppCacheManifestTransformer(java.lang.String fileExtension)
Create an AppCacheResourceTransformer that transforms files with the extension
given as a parameter.
|
Modifier and Type | Method and Description |
---|---|
private <any> |
processLine(AppCacheManifestTransformer.LineInfo info,
ServerWebExchange exchange,
Resource resource,
ResourceTransformerChain chain) |
<any> |
transform(ServerWebExchange exchange,
Resource inputResource,
ResourceTransformerChain chain)
Transform the given resource.
|
private <any> |
transform(java.lang.String content,
Resource resource,
ResourceTransformerChain chain,
ServerWebExchange exchange) |
private static void |
writeToByteArrayOutputStream(java.io.ByteArrayOutputStream out,
java.lang.String toWrite) |
getResourceUrlProvider, resolveUrlPath, setResourceUrlProvider, toAbsolutePath
private static final java.util.Collection<java.lang.String> MANIFEST_SECTION_HEADERS
private static final java.lang.String MANIFEST_HEADER
private static final java.lang.String CACHE_HEADER
private static final java.nio.charset.Charset DEFAULT_CHARSET
private static final Log logger
private final java.lang.String fileExtension
public AppCacheManifestTransformer()
public AppCacheManifestTransformer(java.lang.String fileExtension)
public <any> transform(ServerWebExchange exchange, Resource inputResource, ResourceTransformerChain chain)
ResourceTransformer
exchange
- the current exchangeinputResource
- the resource to transformchain
- the chain of remaining transformers to delegate toprivate <any> transform(java.lang.String content, Resource resource, ResourceTransformerChain chain, ServerWebExchange exchange)
private static void writeToByteArrayOutputStream(java.io.ByteArrayOutputStream out, java.lang.String toWrite)
private <any> processLine(AppCacheManifestTransformer.LineInfo info, ServerWebExchange exchange, Resource resource, ResourceTransformerChain chain)