@Override public boolean containsHeader(String key) { return target.containsHeader(key); }
@Override public boolean authenticate(Request request) { List<String> headerValues = FluentIterable.from(credentials).transform(new Function<BasicCredentials, String>() { @Override public String apply(BasicCredentials input) { return input.asAuthorizationHeaderValue(); } }).toList(); return request.containsHeader(AUTHORIZATION) && headerValues.contains(request.header(AUTHORIZATION).firstValue()); } }
private static HttpEntity applyGzipWrapperIfRequired(Request originalRequest, HttpEntity content) { if (originalRequest.containsHeader(CONTENT_ENCODING) && originalRequest.header(CONTENT_ENCODING).firstValue().contains("gzip")) { return new GzipCompressingEntity(content); } return content; }
@Override public boolean authenticate(Request request) { HttpHeader requestHeader = request.header(key); if (requestHeader == null || !requestHeader.isPresent()) { return false; } List<String> headerValues = requestHeader.values(); return request.containsHeader(AUTHORIZATION) && headerValues.contains(value); } }
private static HttpEntity buildEntityFrom(Request originalRequest) { ContentTypeHeader contentTypeHeader = originalRequest.contentTypeHeader().or("text/plain"); ContentType contentType = ContentType.create(contentTypeHeader.mimeTypePart(), contentTypeHeader.encodingPart().or("utf-8")); if (originalRequest.containsHeader(TRANSFER_ENCODING) && originalRequest.header(TRANSFER_ENCODING).firstValue().equals("chunked")) { return applyGzipWrapperIfRequired( originalRequest, new InputStreamEntity(new ByteArrayInputStream(originalRequest.getBody()), -1, contentType) ); } return applyGzipWrapperIfRequired( originalRequest, new ByteArrayEntity(originalRequest.getBody()) ); }
/** * Returns a RequestPatternBuilder matching a given Request */ @Override public RequestPatternBuilder apply(Request request) { final RequestPatternBuilder builder = new RequestPatternBuilder(request.getMethod(), urlEqualTo(request.getUrl())); if (headers != null && !headers.isEmpty()) { for (Map.Entry<String, CaptureHeadersSpec> header : headers.entrySet()) { String headerName = header.getKey(); if (request.containsHeader(headerName)) { CaptureHeadersSpec spec = header.getValue(); StringValuePattern headerMatcher = new EqualToPattern(request.getHeader(headerName), spec.getCaseInsensitive()); builder.withHeader(headerName, headerMatcher); } } } byte[] body = request.getBody(); if (bodyPatternFactory != null && body != null && body.length > 0) { builder.withRequestBody(bodyPatternFactory.forRequest(request)); } return builder; } }