public class CSSURLRewriter extends DelegatingSRS
url()
attributes inside a CSS (MIME type "text/css")) resource.
Each url
is expanded to a complete path; this allows for CSS aggregation, where the location of the
CSS file will change (which would ordinarily break relative URLs), and for changing the relative directories of
the CSS file and the image assets it may refer to (useful for incorporating a hash of the resource's content into
the exposed URL).
One potential problem with URL rewriting is the way that URLs for referenced resources are generated; we are
somewhat banking on the fact that referenced resources are non-compressable images.SymbolConstants.STRICT_CSS_URL_REWRITING
delegate
Constructor and Description |
---|
CSSURLRewriter(StreamableResourceSource delegate,
OperationTracker tracker,
AssetSource assetSource,
AssetChecksumGenerator checksumGenerator,
boolean strictCssUrlRewriting) |
Modifier and Type | Method and Description |
---|---|
StreamableResource |
getStreamableResource(Resource baseResource,
StreamableResourceProcessing processing,
ResourceDependencies dependencies)
Converts a Resource (which must be non-null and exist) into a streamable resource, along with
some additional optional behaviors.
|
fileExtensionsForContentType
public CSSURLRewriter(StreamableResourceSource delegate, OperationTracker tracker, AssetSource assetSource, AssetChecksumGenerator checksumGenerator, boolean strictCssUrlRewriting)
public StreamableResource getStreamableResource(Resource baseResource, StreamableResourceProcessing processing, ResourceDependencies dependencies) throws IOException
StreamableResourceSource
getStreamableResource
in interface StreamableResourceSource
getStreamableResource
in class DelegatingSRS
baseResource
- the resource to convertprocessing
- defines additional processing after the resource has been read and possibly transformeddependencies
- Passed to any ResourceTransformer
to track additional dependencies of the base resourceIOException
- if the resource does not exist or a URL for the content is not available${project.version} - Copyright © 2003-2015 The Apache Software Foundation.