public List<String> headers(String name) { return headers.values(name); }
public List<String> headers(String name) { return headers.values(name); }
/** Returns the first header named {@code name}, or null if no such header exists. */ public String getHeader(String name) { List<String> values = headers.values(name); return values.isEmpty() ? null : values.get(0); }
public List<String> headers(String name) { return headers.values(name); }
public List<String> headers(String name) { return headers.values(name); }
/** Returns all of the cookies from a set of HTTP response headers. */ public static List<Cookie> parseAll(HttpUrl url, Headers headers) { List<String> cookieStrings = headers.values("Set-Cookie"); List<Cookie> cookies = null; for (int i = 0, size = cookieStrings.size(); i < size; i++) { Cookie cookie = Cookie.parse(url, cookieStrings.get(i)); if (cookie == null) continue; if (cookies == null) cookies = new ArrayList<>(); cookies.add(cookie); } return cookies != null ? Collections.unmodifiableList(cookies) : Collections.emptyList(); }
/** * Returns true if none of the Vary headers have changed between {@code cachedRequest} and {@code * newRequest}. */ public static boolean varyMatches( Response cachedResponse, Headers cachedRequest, Request newRequest) { for (String field : varyFields(cachedResponse)) { if (!Objects.equals(cachedRequest.values(field), newRequest.headers(field))) return false; } return true; }
/** Returns all of the cookies from a set of HTTP response headers. */ public static List<Cookie> parseAll(HttpUrl url, Headers headers) { List<String> cookieStrings = headers.values("Set-Cookie"); List<Cookie> cookies = null; for (int i = 0, size = cookieStrings.size(); i < size; i++) { Cookie cookie = Cookie.parse(url, cookieStrings.get(i)); if (cookie == null) continue; if (cookies == null) cookies = new ArrayList<>(); cookies.add(cookie); } return cookies != null ? Collections.unmodifiableList(cookies) : Collections.emptyList(); }
/** * Returns true if none of the Vary headers have changed between {@code cachedRequest} and {@code * newRequest}. */ public static boolean varyMatches( Response cachedResponse, Headers cachedRequest, Request newRequest) { for (String field : varyFields(cachedResponse)) { if (!Objects.equals(cachedRequest.values(field), newRequest.headers(field))) return false; } return true; }
setPath.set(headers.get(PRESTO_SET_PATH)); for (String setSession : headers.values(PRESTO_SET_SESSION)) { List<String> keyValue = SESSION_HEADER_SPLITTER.splitToList(setSession); if (keyValue.size() != 2) { resetSessionProperties.addAll(headers.values(PRESTO_CLEAR_SESSION)); for (String entry : headers.values(PRESTO_ADDED_PREPARE)) { List<String> keyValue = SESSION_HEADER_SPLITTER.splitToList(entry); if (keyValue.size() != 2) { for (String entry : headers.values(PRESTO_DEALLOCATED_PREPARE)) { deallocatedPreparedStatements.add(urlDecode(entry));
private MultivaluedMap<String, String> getHeaders(final okhttp3.Response callResponse) { final Headers headers = callResponse.headers(); final MultivaluedMap<String, String> headerMap = new MultivaluedHashMap<>(); for (final String name : headers.names()) { final List<String> values = headers.values(name); headerMap.addAll(name, values); } return headerMap; }
/** * Returns a Map of flowfile attributes from the response http headers. Multivalue headers are naively converted to comma separated strings. */ private Map<String, String> convertAttributesFromHeaders(URL url, Response responseHttp){ // create a new hashmap to store the values from the connection Map<String, String> map = new HashMap<>(); responseHttp.headers().names().forEach( (key) -> { if (key == null) { return; } List<String> values = responseHttp.headers().values(key); // we ignore any headers with no actual values (rare) if (values == null || values.isEmpty()) { return; } // create a comma separated string from the values, this is stored in the map String value = csv(values); // put the csv into the map map.put(key, value); }); if (responseHttp.request().isHttps()) { Principal principal = responseHttp.handshake().peerPrincipal(); if (principal != null) { map.put(REMOTE_DN, principal.getName()); } } return map; }
/** * Converts retrofit request to async-http-client request. * * @param request retrofit request * @return async-http-client request. */ @SneakyThrows protected org.asynchttpclient.Request createRequest(@NonNull Request request) { // create async-http-client request builder val requestBuilder = new RequestBuilder(request.method()); // request uri requestBuilder.setUrl(request.url().toString()); // set headers val headers = request.headers(); headers.names().forEach(name -> requestBuilder.setHeader(name, headers.values(name))); // set request body val body = request.body(); if (body != null && body.contentLength() > 0) { if (body.contentType() != null) { requestBuilder.setHeader(HttpHeaderNames.CONTENT_TYPE, body.contentType().toString()); } // write body to buffer val okioBuffer = new Buffer(); body.writeTo(okioBuffer); requestBuilder.setBody(okioBuffer.readByteArray()); } // customize the request builder (external customizer can change the request url for example) runConsumers(this.requestCustomizers, requestBuilder); return requestBuilder.build(); }
private MockResponse postRequest(RecordedRequest request, String expectedRequestContent, String location, String contentType, byte[] responseBody) { assertEquals(1, request.getHeaders().values("Content-Length").size()); assertTrue("Invalid request content-length", Integer.parseInt(request.getHeader("Content-Length")) > 0); String requestContentType = request.getHeader("Content-Type"); assertNotNull("No content-type", requestContentType); Charset charset = StandardCharsets.ISO_8859_1; if (requestContentType.contains("charset=")) { String charsetName = requestContentType.split("charset=")[1]; charset = Charset.forName(charsetName); } assertEquals("Invalid request body", expectedRequestContent, request.getBody().readString(charset)); Buffer buf = new Buffer(); buf.write(responseBody); return new MockResponse() .setHeader("Location", baseUrl + location) .setHeader("Content-Type", contentType) .setHeader("Content-Length", responseBody.length) .setBody(buf) .setResponseCode(201); }
/** * Returns an immutable list of the header values for the specified name. * * @param name the name of the specified header * @return the values associated with the name */ public List<String> values(String name) { return this.headers.values(name); } }
/** * Returns an immutable list of the header values for the specified name. * * @param name the name of the specified header * @return the values associated with the name */ public List<String> values(String name) { return this.headers.values(name); } }
/** * Returns true if none of the Vary headers have changed between {@code * cachedRequest} and {@code newRequest}. */ public static boolean varyMatches( Response cachedResponse, Headers cachedRequest, Request newRequest) { for (String field : varyFields(cachedResponse)) { if (!equal(cachedRequest.values(field), newRequest.headers(field))) return false; } return true; }
/** * Returns true if none of the Vary headers have changed between {@code cachedRequest} and {@code * newRequest}. */ public static boolean varyMatches( Response cachedResponse, Headers cachedRequest, Request newRequest) { for (String field : varyFields(cachedResponse)) { if (!equal(cachedRequest.values(field), newRequest.headers(field))) return false; } return true; }
/** * Returns true if none of the Vary headers have changed between {@code * cachedRequest} and {@code newRequest}. */ public static boolean varyMatches( Response cachedResponse, Headers cachedRequest, Request newRequest) { for (String field : varyFields(cachedResponse)) { if (!equal(cachedRequest.values(field), newRequest.headers(field))) return false; } return true; }
/** * Returns true if none of the Vary headers have changed between {@code cachedRequest} and {@code * newRequest}. */ public static boolean varyMatches( Response cachedResponse, Headers cachedRequest, Request newRequest) { for (String field : varyFields(cachedResponse)) { if (!equal(cachedRequest.values(field), newRequest.headers(field))) return false; } return true; }