Rename ResolvedResource to HttpResource
`ResolvedResource` is a rather generic name - changing the extended interface to something more meaningful: `HttpResource`. For now, implementations are linked with the resource handling chain, but this aspect has been removed from the interface documentation. Issue: SPR-14264
This commit is contained in:
@@ -78,7 +78,7 @@ public class GzipResourceResolver extends AbstractResourceResolver {
|
||||
}
|
||||
|
||||
|
||||
private static final class GzippedResource extends AbstractResource implements ResolvedResource {
|
||||
private static final class GzippedResource extends AbstractResource implements HttpResource {
|
||||
|
||||
private final Resource original;
|
||||
|
||||
@@ -145,8 +145,8 @@ public class GzipResourceResolver extends AbstractResourceResolver {
|
||||
@Override
|
||||
public HttpHeaders getResponseHeaders() {
|
||||
HttpHeaders headers;
|
||||
if(this.original instanceof ResolvedResource) {
|
||||
headers = ((ResolvedResource) this.original).getResponseHeaders();
|
||||
if(this.original instanceof HttpResource) {
|
||||
headers = ((HttpResource) this.original).getResponseHeaders();
|
||||
}
|
||||
else {
|
||||
headers = new HttpHeaders();
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package org.springframework.web.servlet.resource;
|
||||
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
|
||||
/**
|
||||
* Extended interface for a {@link Resource} to be written to an
|
||||
* HTTP response.
|
||||
*
|
||||
* @author Brian Clozel
|
||||
* @since 5.0
|
||||
*/
|
||||
public interface HttpResource extends Resource {
|
||||
|
||||
/**
|
||||
* The HTTP headers to be contributed to the HTTP response
|
||||
* that serves the current resource.
|
||||
* @return the HTTP response headers
|
||||
*/
|
||||
HttpHeaders getResponseHeaders();
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
package org.springframework.web.servlet.resource;
|
||||
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
|
||||
/**
|
||||
* Interface for resources resolved through the
|
||||
* {@link org.springframework.web.servlet.resource.ResourceResolverChain}
|
||||
* that may contribute HTTP response headers as they're served to HTTP clients.
|
||||
*
|
||||
* <p>Some resource implementations, while served by the
|
||||
* {@link org.springframework.web.servlet.resource.ResourceResolverChain} need
|
||||
* to contribute resource metadata as HTTP response headers so that HTTP clients
|
||||
* can interpret them properly.
|
||||
*
|
||||
* @author Brian Clozel
|
||||
* @since 5.0
|
||||
*/
|
||||
public interface ResolvedResource extends Resource {
|
||||
|
||||
/**
|
||||
* The HTTP headers to be contributed to the HTTP response
|
||||
* that serves the current resource.
|
||||
* @return the HTTP response headers
|
||||
*/
|
||||
HttpHeaders getResponseHeaders();
|
||||
}
|
||||
@@ -542,8 +542,8 @@ public class ResourceHttpRequestHandler extends WebContentGenerator
|
||||
if (mediaType != null) {
|
||||
response.setContentType(mediaType.toString());
|
||||
}
|
||||
if (resource instanceof ResolvedResource) {
|
||||
HttpHeaders resourceHeaders = ((ResolvedResource) resource).getResponseHeaders();
|
||||
if (resource instanceof HttpResource) {
|
||||
HttpHeaders resourceHeaders = ((HttpResource) resource).getResponseHeaders();
|
||||
resourceHeaders.toSingleValueMap().entrySet()
|
||||
.stream().forEach(entry -> response.setHeader(entry.getKey(), entry.getValue()));
|
||||
}
|
||||
|
||||
@@ -239,7 +239,7 @@ public class VersionResourceResolver extends AbstractResourceResolver {
|
||||
}
|
||||
|
||||
|
||||
private class FileNameVersionedResource extends AbstractResource implements ResolvedResource {
|
||||
private class FileNameVersionedResource extends AbstractResource implements HttpResource {
|
||||
|
||||
private final Resource original;
|
||||
|
||||
@@ -318,8 +318,8 @@ public class VersionResourceResolver extends AbstractResourceResolver {
|
||||
@Override
|
||||
public HttpHeaders getResponseHeaders() {
|
||||
HttpHeaders headers;
|
||||
if(this.original instanceof ResolvedResource) {
|
||||
headers = ((ResolvedResource) this.original).getResponseHeaders();
|
||||
if(this.original instanceof HttpResource) {
|
||||
headers = ((HttpResource) this.original).getResponseHeaders();
|
||||
}
|
||||
else {
|
||||
headers = new HttpHeaders();
|
||||
|
||||
Reference in New Issue
Block a user