static Map<String, List<String>> toSimpleMap(MultivaluedMap<String, String> headers) { Map<String, List<String>> result = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); headers.forEach((key, value) -> result.put(key.toLowerCase(), value)); return headers; }
private Map<String, Object> extract( MultivaluedMap<String, String> multivaluedMap) { Map<String, Object> result = new HashMap<>(); multivaluedMap.forEach((name, values) -> { if (!CollectionUtils.isEmpty(values)) { result.put(name, (values.size() != 1) ? values : values.get(0)); } }); return result; }
@SuppressWarnings("unchecked") public Entry add(String uri, MediaType mediaType, CacheControl cc, MultivaluedMap<String, Object> headers, byte[] entity, String etag, MultivaluedMap<String, String> varyHeaders) { // there's a race condition here with a concurrent get() method above. Too bad JBoss Cache doesn't have a way to create // a node before hand then insert it CacheEntry cacheEntry = new CacheEntry(headers, entity, cc.getMaxAge(), etag, mediaType, varyHeaders); StringBuffer varyHeadersString = new StringBuffer(); varyHeaders.forEach((name, values) -> values.forEach(value -> varyHeadersString.append(name).append(value))); String entryName = uri + " " + mediaType.toString() + " " + varyHeadersString.toString(); Set<String> entries = (Set<String>)cache.get(uri); Set<String> newEntries = new HashSet<String>(); newEntries.add(entryName); if (entries != null) { newEntries.addAll(entries); } cache.put(uri, newEntries); cache.put(entryName, cacheEntry, cc.getMaxAge(), TimeUnit.SECONDS); return cacheEntry; }
invocation.getHeaders().asMap().forEach((h, vs) -> vs.forEach(v -> request.header(h, v))); configureTimeout(request); if (request.getAttributes().get(FOLLOW_REDIRECTS) == Boolean.FALSE) {
static Map<String, List<String>> toSimpleMap(MultivaluedMap<String, String> headers) { Map<String, List<String>> result = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); headers.forEach((key, value) -> result.put(key.toLowerCase(), value)); return headers; }
protected static void setAllHeaders(MultivaluedMap<String, String> headers, HttpURLConnection conn) { headers.forEach((key, value) -> { StringBuilder b = new StringBuilder(); for (int i = 0; i < value.size(); i++) { b.append(value.get(i)); if (i + 1 < value.size()) { b.append(','); } } conn.setRequestProperty(key, b.toString()); }); }
protected static void setAllHeaders(MultivaluedMap<String, String> headers, HttpURLConnection conn) { headers.forEach((key, value) -> { StringBuilder b = new StringBuilder(); for (int i = 0; i < value.size(); i++) { b.append(value.get(i)); if (i + 1 < value.size()) { b.append(','); } } conn.setRequestProperty(key, b.toString()); }); }
public static Map<String, Object> convert(MultivaluedMap<String, String> data) { Map<String, Object> m = new HashMap<>(); if (data != null) { data.forEach((k, v) -> { if (v == null) { return; } int size = v.size(); if (size == 0) { return; } if (size == 1) { m.put(k, v.get(0)); } else { m.put(k, v); } }); } return m; }
/** * Overriding {@link JAXRSUtils#fromResponse(javax.ws.rs.core.Response)} in order to avoid setting * {@code Content-Type} from original {@code response}. * * @param response model to construct {@link ResponseBuilder} from * @return new {@link ResponseBuilder} instance initialized from given response */ private ResponseBuilder builder(final Response response) { ResponseBuilder builder = JAXRSUtils.toResponseBuilder(response.getStatus()); builder.entity(response.getEntity()); response.getMetadata().forEach((key, value) -> { if (!HttpHeaders.CONTENT_TYPE.equals(key)) { value.forEach(headerValue -> { builder.header(key, headerValue); }); } }); return builder; }
public RequestParametersBuilder<E> params(MultivaluedMap<String, String> params) { this.params = new MultivaluedHashMap<>(); params.forEach((k, v) -> this.params.addAll(k, v)); return this; }
public RequestParametersBuilder<E> headers(MultivaluedMap<String, String> headers) { this.headers = new MultivaluedHashMap<>(); headers.forEach((k, v) -> this.headers.addAll(k, v)); return this; }
public RequestParametersBuilder<E> params(MultivaluedMap<String, String> params) { this.params = new MultivaluedHashMap<>(); params.forEach((k, v) -> this.params.addAll(k, v)); return this; }
public RequestParametersBuilder<E> headers(MultivaluedMap<String, String> headers) { this.headers = new MultivaluedHashMap<>(); headers.forEach((k, v) -> this.headers.addAll(k, v)); return this; }
Object pValue = pValues[0]; MultivaluedMap<String, Object> values = InjectionUtils.extractValuesFromBean(pValue, ""); values.forEach((key, value) -> { value.forEach(v -> { convertMatrixOrQueryToBuilder(ub, key, v, pt, anns);
public static Metadata parseHeaders(HttpHeaders headers) { Metadata newHeaders = new Metadata(); headers.getRequestHeaders().forEach((k, v) -> { newHeaders.put(Metadata.Key.of(k, Metadata.ASCII_STRING_MARSHALLER), v.get(0)); } ); return newHeaders; }
public static ActualResult fromJaxRs(Response callResult) { int status = callResult.getStatus(); LinkedListMultimap<String, String> headers = LinkedListMultimap.create(callResult.getStringHeaders().size()); callResult.getStringHeaders().forEach((key, values) -> headers.putAll(key.toLowerCase(), values)); String body = callResult.readEntity(String.class); return new ActualResult(status, callResult.getStatusInfo().getReasonPhrase(), headers, body); }
/** * Set entity body fro the response. If the entity is * type of javax.ws.rs.core.Response extract entity, * status code etc from it. * * @param entity the HTTP entity * @return this HttpMethodResponseHandler instance */ public HttpMethodResponseHandler setEntity(Object entity) { if (entity instanceof Response) { Response response = (Response) entity; this.entity = response.getEntity(); MultivaluedMap<String, String> multivaluedMap = response.getStringHeaders(); if (multivaluedMap != null) { multivaluedMap.forEach(headers::putAll); } setStatus(response.getStatus()); if (response.getMediaType() != null) { setMediaType(response.getMediaType().toString()); } } else { this.entity = entity; } return this; }
@Test public void test() { try(final Response r = request.of("/").request().get()){ final AtomicBoolean sawBackendHeader = new AtomicBoolean(); r.getHeaders().forEach((name, objs) -> { if (name.toLowerCase().startsWith(BackendInfoFilterConfiguration.HEADER_PREFIX.toLowerCase())) { Assert.assertTrue(!objs.isEmpty()); final Object first = objs.get(0); Assert.assertTrue(first instanceof String); final String firstString = (String) first; Assert.assertFalse(firstString.isEmpty()); sawBackendHeader.set(true); } }); Assert.assertTrue(sawBackendHeader.get()); } }
@Test public void test() { try(final Response r = request.of("/").request().get()){ final AtomicBoolean sawBackendHeader = new AtomicBoolean(); r.getHeaders().forEach((name, objs) -> { if (name.toLowerCase().startsWith(BackendInfoFilterConfiguration.HEADER_PREFIX.toLowerCase())) { Assert.assertTrue(!objs.isEmpty()); final Object first = objs.get(0); Assert.assertTrue(first instanceof String); final String firstString = (String) first; Assert.assertFalse(firstString.isEmpty()); sawBackendHeader.set(true); } }); Assert.assertTrue(sawBackendHeader.get()); } } }
private MultivaluedMap<String, String> extractedParameters() { if (parameters == null) { MultivaluedHashMap<String, String> multivaluedHashMap = new MultivaluedHashMap<>(); // efficient multivaluedHashMap.putAll(requestContext.getUriInfo().getQueryParameters()); parameters = multivaluedHashMap; if (MediaType.APPLICATION_FORM_URLENCODED_TYPE.isCompatible(requestContext.getMediaType())) { readAndResetEntityStream(stream -> { try { Form form = providers.getMessageBodyReader(Form.class, Form.class, new Annotation[0], MediaType.APPLICATION_FORM_URLENCODED_TYPE).readFrom(Form.class, Form.class, new Annotation[0], MediaType.APPLICATION_FORM_URLENCODED_TYPE, requestContext.getHeaders(), stream); form.asMap().forEach(parameters::addAll); return null; } catch (IOException e) { throw new TechnicalException(e); } }); } } return parameters; }