kopia lustrzana https://github.com/gaul/s3proxy
Add ETag to failed conditional GETs
Found via s3-tests. References apache/jclouds#209.pull/686/head
rodzic
3d2beb3319
commit
cb443b780b
|
@ -23,6 +23,7 @@ import java.util.concurrent.TimeoutException;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
|
import com.google.common.net.HttpHeaders;
|
||||||
|
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
@ -94,6 +95,12 @@ final class S3ProxyHandlerJetty extends AbstractHandler {
|
||||||
hre.getMessage());
|
hre.getMessage());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String eTag = hr.getFirstHeaderOrNull(HttpHeaders.ETAG);
|
||||||
|
if (eTag != null) {
|
||||||
|
response.setHeader(HttpHeaders.ETAG, eTag);
|
||||||
|
}
|
||||||
|
|
||||||
int status = hr.getStatusCode();
|
int status = hr.getStatusCode();
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case 412:
|
case 412:
|
||||||
|
@ -111,7 +118,7 @@ final class S3ProxyHandlerJetty extends AbstractHandler {
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
logger.debug("HttpResponseException:", hre);
|
logger.debug("HttpResponseException:", hre);
|
||||||
response.sendError(status, hre.getContent());
|
response.setStatus(status);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
baseRequest.setHandled(true);
|
baseRequest.setHandled(true);
|
||||||
|
|
Ładowanie…
Reference in New Issue