public static List<LinkDirective> toLinkDirectives(Header header) { Preconditions.checkArgument(!LINK_HEADER.equals(header.getName()), "This must be a \"Link\" header"); return header.getDirectives().stream(). filter(d -> d instanceof LinkDirective). map(d -> (LinkDirective) d). collect(Collectors.toList()); } }
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(); }
public Set<HTTPMethod> getAllow() { Optional<Header> header = getFirstHeader(HeaderConstants.ALLOW); if (header.isPresent()) { return header.get().getDirectives().stream().map(d -> HTTPMethod.valueOf(d.getName().toUpperCase(Locale.ENGLISH))).collect(Collectors.toSet()); } return Collections.emptySet(); }
protected List<AuthScheme> toAuthSchemes(HTTPResponse response, String name) { List<Header> authenticateHeader = response.getHeaders().getHeaders(name); return authenticateHeader.stream(). flatMap( h -> h.getDirectives().stream()). map(AuthScheme::new). collect(Collectors.toList()); } }
public AuthScheme afterSuccessfulAuthentication(AuthScheme scheme, Headers headers, boolean proxy) { Optional<Header> header; if (proxy) { header = headers.getFirstHeader(HeaderConstants.PROXY_AUTHENTICATION_INFO); } else { header = headers.getFirstHeader(HeaderConstants.AUTHENTICATION_INFO); } if (header.isPresent()) { String nextNonce = header.get().getDirectives().get("nextnonce"); if (nextNonce != null) { List<Parameter> params = scheme.getDirective().getParameters().stream(). filter(p -> !"nonce".equals(p.getName())). collect(Collectors.toList()); params.add(new QuotedParameter("nonce", nextNonce)); return new AuthScheme(new AuthDirective("Digest", null, params)); } } return scheme; } }