public Header createMISSXCacheHeader() { String value = String.format(X_CACHE_FORMAT, "MISS", hostAddress); return new Header(HeaderConstants.X_CACHE, value); }
public Header createHITXCacheHeader() { String value = String.format(X_CACHE_FORMAT, "HIT", hostAddress); return new Header(HeaderConstants.X_CACHE, value); } }
static Header valueOf(String value) { String[] parts = value.split(":", 2); if (parts != null) { if (parts.length == 1) { return new Header(parts[0].trim(), ""); } else if (parts.length == 2) { return new Header(parts[0].trim(), parts[1].trim()); } } throw new IllegalArgumentException("Not a valid header string"); } }
public static Header toLinkHeader(List<LinkDirective> linkDirectives) { StringBuilder builder = new StringBuilder(); for (LinkDirective linkDirective : linkDirectives) { if (builder.length() > 0) { builder.append(", "); } builder.append(linkDirective); } return new Header(LINK_HEADER, builder.toString()); }
public Headers add(String key, String value) { return add(new Header(key, value)); }
public Headers add(String name, Iterable<String> values) { List<Header> list = new ArrayList<>(); for (String value : values) { list.add(new Header(name, value)); } return add(list); }
public Headers set(String name, String value) { return set(new Header(name, value)); }
public void addHeader(String name, String value) { addHeader(new Header(name, value)); }
public static Header toHttpDate(String headerName, LocalDateTime time) { return new Header(headerName, toGMTString(time)); }
public HTTPRequest addHeader(String name, String value) { return addHeader(new Header(name, value)); }
Iterator<Header> headerIterator() { List<Header> headers = entrySet().stream().flatMap(e -> e.getValue().stream().map(v -> new Header(e.getKey().getDelegate(), v))) .collect(Collectors.toList()); return headers.iterator(); } }
List<Header> getAsHeaders(final String key) { CaseInsensitiveKey name = new CaseInsensitiveKey(key); List<Header> headers = get(name).stream().map(v -> new Header(name.getDelegate(), v)).collect(Collectors.toList()); return Collections.unmodifiableList(headers); }
public CacheControl(Header header) { if (header == null) { header = new Header(HeaderConstants.CACHE_CONTROL, ""); } if (!HeaderConstants.CACHE_CONTROL.equalsIgnoreCase(header.getName())) { throw new IllegalArgumentException("Not a Cache-Control header"); } this.directives = header.getDirectives(); }
private String normalizeValue(String name, String value) { if (name.toLowerCase().startsWith("accept")) { List<Preference> parse = Preference.parse(new Header(name, value)); value = Preference.toHeader(name, parse).getValue(); } return value; }
public static Header toHeader(String headerName, List<Preference> preferences) { List<Preference> pref = new ArrayList<>(preferences); Collections.sort(pref, new PreferenceComparator()); StringBuilder builder = new StringBuilder(); for (Preference preference : pref) { if (builder.length() > 0) { builder.append(", "); } builder.append(preference.getPreference()); if (preference.getQuality() != 1.0) { builder.append(";q=").append(preference.getQuality()); } } return new Header(headerName, builder.toString()); }
private String normalizeValue(String name, String value) { if (name.toLowerCase().startsWith("accept")) { List<Preference> parse = Preference.parse(new Header(name, value)); value = Preference.toHeader(name, parse).getValue(); } return value; }
public static CacheItem parse(Properties object) { Optional<LocalDateTime> time = HeaderUtils.fromHttpDate(new Header("cache-time", object.getProperty("cache-time"))); Status status = Status.valueOf(NumberUtils.toInt(object.getProperty("status"), 200)); Headers headers = Headers.parse(object.getProperty("headers")); Optional<Payload> p = Optional.empty(); if (object.containsKey("file")) { p = Optional.of(new FilePayload(new File(object.getProperty("file")), headers.getContentType().get())); } return new DefaultCacheItem(new HTTPResponse(p, status, headers), time.get()); }
public Header toHeader() { return new Header(HeaderConstants.CACHE_CONTROL, new Directives(directives)); }
/** * Converts the Conditionals into real headers. * @return real headers. */ public Headers toHeaders() { Headers headers = new Headers(); if (!getMatch().isEmpty()) { headers = headers.add(new Header(HeaderConstants.IF_MATCH, buildTagHeaderValue(getMatch()))); } if (!getNoneMatch().isEmpty()) { headers = headers.add(new Header(HeaderConstants.IF_NONE_MATCH, buildTagHeaderValue(getNoneMatch()))); } if (modifiedSince.isPresent()) { headers = headers.set(HeaderUtils.toHttpDate(HeaderConstants.IF_MODIFIED_SINCE, modifiedSince.get())); } if (unModifiedSince.isPresent()) { headers = headers.set(HeaderUtils.toHttpDate(HeaderConstants.IF_UNMODIFIED_SINCE, unModifiedSince.get())); } return headers; }
private HTTPRequest prepare(final HTTPRequest request, Challenge challenge, AuthScheme scheme, boolean proxy) { Digest digest = new Digest(new HTTPHost(request.getRequestURI()), scheme); HTTPRequest req = request; if (challenge instanceof UsernamePasswordChallenge) { UsernamePasswordChallenge upc = (UsernamePasswordChallenge) challenge; RequestDigest requestDigest = RequestDigest.newInstance(upc, req, digest); Header authHeader; if (proxy) { authHeader = new Header(HeaderConstants.PROXY_AUTHORIZATION, requestDigest.toHeaderValue()); } else { authHeader = new Header(HeaderConstants.AUTHORIZATION, requestDigest.toHeaderValue()); } req = req.addHeader(authHeader); } return req; }