ignore invalid cache control values (#1619)

This commit is contained in:
Athou
2024-12-02 18:43:44 +01:00
parent 8ccb59ed18
commit a073d843ab
2 changed files with 23 additions and 2 deletions

View File

@@ -162,7 +162,7 @@ public class HttpGetter {
CacheControl cacheControl = Optional.ofNullable(resp.getFirstHeader(HttpHeaders.CACHE_CONTROL))
.map(NameValuePair::getValue)
.map(StringUtils::trimToNull)
.map(CacheControlDelegate.INSTANCE::fromString)
.map(HttpGetter::toCacheControl)
.orElse(null);
String contentType = Optional.ofNullable(resp.getEntity()).map(HttpEntity::getContentType).orElse(null);
@@ -176,6 +176,15 @@ public class HttpGetter {
});
}
private static CacheControl toCacheControl(String headerValue) {
try {
return CacheControlDelegate.INSTANCE.fromString(headerValue);
} catch (Exception e) {
log.debug("Invalid Cache-Control header: {}", headerValue);
return null;
}
}
private static byte[] toByteArray(HttpEntity entity, long maxBytes) throws IOException {
if (entity.getContentLength() > maxBytes) {
throw new IOException(