Prevent resource transformation of gzipped CSS files
When resolved through the `GzipResourceResolver`, CSS files can be resolved as their pre-gzipped variant, if a ".gz" file is present in the configured resource locations. Such resources are gzipped and thus should not be transformed by `CssLinkResourceTransformer`s, since rewriting those would need to uncompress/transform/recompress. This would lead to poorer performances than resolving plain resources and delegating compression to the container. This commit checks for `GzippedResource` instances in `CssLinkResourceTransformer` and avoids processing them. Issue: SPR-14773
This commit is contained in:
@@ -70,7 +70,8 @@ public class CssLinkResourceTransformer extends ResourceTransformerSupport {
|
||||
resource = transformerChain.transform(request, resource);
|
||||
|
||||
String filename = resource.getFilename();
|
||||
if (!"css".equals(StringUtils.getFilenameExtension(filename))) {
|
||||
if (!"css".equals(StringUtils.getFilenameExtension(filename)) ||
|
||||
resource instanceof GzipResourceResolver.GzippedResource) {
|
||||
return resource;
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ public class GzipResourceResolver extends AbstractResourceResolver {
|
||||
}
|
||||
|
||||
|
||||
private static final class GzippedResource extends AbstractResource implements HttpResource {
|
||||
static final class GzippedResource extends AbstractResource implements HttpResource {
|
||||
|
||||
private final Resource original;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user