diff --git a/code/processes/crawling-process/java/nu/marginalia/crawl/fetcher/ContentTags.java b/code/processes/crawling-process/java/nu/marginalia/crawl/fetcher/ContentTags.java index c8cddc4e..29a2b101 100644 --- a/code/processes/crawling-process/java/nu/marginalia/crawl/fetcher/ContentTags.java +++ b/code/processes/crawling-process/java/nu/marginalia/crawl/fetcher/ContentTags.java @@ -20,34 +20,11 @@ public record ContentTags(String etag, String lastMod) { public void paint(Request.Builder getBuilder) { if (etag != null) { - getBuilder.addHeader("If-None-Match", ifNoneMatch()); + getBuilder.addHeader("If-None-Match", etag); } if (lastMod != null) { - getBuilder.addHeader("If-Modified-Since", ifModifiedSince()); + getBuilder.addHeader("If-Modified-Since", lastMod); } } - - private String ifNoneMatch() { - // Remove the W/ prefix if it exists - - //'W/' (case-sensitive) indicates that a weak validator is used. Weak etags are - // easy to generate, but are far less useful for comparisons. Strong validators - // are ideal for comparisons but can be very difficult to generate efficiently. - // Weak ETag values of two representations of the same resources might be semantically - // equivalent, but not byte-for-byte identical. This means weak etags prevent caching - // when byte range requests are used, but strong etags mean range requests can - // still be cached. - // - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag - - if (null != etag && etag.startsWith("W/")) { - return etag.substring(2); - } else { - return etag; - } - } - - private String ifModifiedSince() { - return lastMod; - } }