@Override public BodyBuilder eTag(String etag) { if (!etag.startsWith("\"") && !etag.startsWith("W/\"")) { etag = "\"" + etag; } if (!etag.endsWith("\"")) { etag = etag + "\""; } this.headers.setETag(etag); return this; }
@Override public ServerResponse.BodyBuilder eTag(String etag) { if (!etag.startsWith("\"") && !etag.startsWith("W/\"")) { etag = "\"" + etag; } if (!etag.endsWith("\"")) { etag = etag + "\""; } this.headers.setETag(etag); return this; }
@Override public EntityResponse.Builder<T> eTag(String etag) { if (!etag.startsWith("\"") && !etag.startsWith("W/\"")) { etag = "\"" + etag; } if (!etag.endsWith("\"")) { etag = etag + "\""; } this.headers.setETag(etag); return this; }
@Override public HttpHeaders getResponseHeaders() { HttpHeaders headers = (this.original instanceof HttpResource ? ((HttpResource) this.original).getResponseHeaders() : new HttpHeaders()); headers.setETag("\"" + this.version + "\""); return headers; } }
@Override public HttpHeaders getResponseHeaders() { HttpHeaders headers = (this.original instanceof HttpResource ? ((HttpResource) this.original).getResponseHeaders() : new HttpHeaders()); headers.setETag("\"" + this.version + "\""); return headers; } }
@Override public BodyBuilder eTag(String etag) { if (!etag.startsWith("\"") && !etag.startsWith("W/\"")) { etag = "\"" + etag; } if (!etag.endsWith("\"")) { etag = etag + "\""; } this.headers.setETag(etag); return this; }
@Override public HttpHeaders getResponseHeaders() { HttpHeaders headers = (this.original instanceof HttpResource ? ((HttpResource) this.original).getResponseHeaders() : new HttpHeaders()); headers.setETag("\"" + this.version + "\""); return headers; } }
@Override public void handle(ServerHttpRequest request, ServerHttpResponse response) throws IOException { if (request.getMethod() != HttpMethod.GET) { sendMethodNotAllowed(response, HttpMethod.GET); return; } String content = String.format(IFRAME_CONTENT, getSockJsClientLibraryUrl()); byte[] contentBytes = content.getBytes(StandardCharsets.UTF_8); StringBuilder builder = new StringBuilder("\"0"); DigestUtils.appendMd5DigestAsHex(contentBytes, builder); builder.append('"'); String etagValue = builder.toString(); List<String> ifNoneMatch = request.getHeaders().getIfNoneMatch(); if (!CollectionUtils.isEmpty(ifNoneMatch) && ifNoneMatch.get(0).equals(etagValue)) { response.setStatusCode(HttpStatus.NOT_MODIFIED); return; } response.getHeaders().setContentType(new MediaType("text", "html", StandardCharsets.UTF_8)); response.getHeaders().setContentLength(contentBytes.length); // No cache in order to check every time if IFrame are authorized addNoCacheHeaders(response); response.getHeaders().setETag(etagValue); response.getBody().write(contentBytes); } };
getResponseHeaders().setETag(padEtagIfNecessary(etag));
@Test(expected = IllegalArgumentException.class) public void illegalETag() { String eTag = "v2.6"; headers.setETag(eTag); assertEquals("Invalid ETag header", eTag, headers.getETag()); assertEquals("Invalid ETag header", "\"v2.6\"", headers.getFirst("ETag")); }
@Test public void eTag() { String eTag = "\"v2.6\""; headers.setETag(eTag); assertEquals("Invalid ETag header", eTag, headers.getETag()); assertEquals("Invalid ETag header", "\"v2.6\"", headers.getFirst("ETag")); }
getResponseHeaders().setETag(padEtagIfNecessary(etag));
/** * Adds the current {@link ETag} to the given headers. * * @param headers must not be {@literal null}. * @return the {@link HttpHeaders} with the ETag header been set if the current {@link ETag} instance is not * {@link #NO_ETAG}. */ public HttpHeaders addTo(HttpHeaders headers) { Assert.notNull(headers, "HttpHeaders must not be null!"); String stringValue = toString(); if (stringValue == null) { return headers; } headers.setETag(stringValue); return headers; }
target.setETag((String) value);
@Override public BodyBuilder eTag(String etag) { if (!etag.startsWith("\"") && !etag.startsWith("W/\"")) { etag = "\"" + etag; } if (!etag.endsWith("\"")) { etag = etag + "\""; } this.headers.setETag(etag); return this; }
@Override public HttpHeaders getResponseHeaders() { HttpHeaders headers; if(this.original instanceof HttpResource) { headers = ((HttpResource) this.original).getResponseHeaders(); } else { headers = new HttpHeaders(); } headers.setETag("\"" + this.version + "\""); return headers; } }
private ETaggedResource(Resource resource, String responseETag, boolean match) { this.resource = resource; this.match = match; if (resource instanceof HttpResource) { headers = ((HttpResource) resource).getResponseHeaders(); } else { headers = new HttpHeaders(); } headers.setETag(WebUtil.formatETag(responseETag, false)); }
public static void setEtagHeader(WonEtagHelper wonEtagHelper, HttpHeaders headers){ if (wonEtagHelper.isValid()) { headers.setETag(wonEtagHelper.getEtagString()); } }
protected void setEtagHeader(Integer version) { // Strong ETag this.headers.setETag(new ETagHeaderImpl(version).toString()); }
protected void setEtagHeader(Long version) { // Strong ETag this.headers.setETag(new ETagHeaderImpl(version).toString()); }