Refine search
protected void logHttpHeaders(MultivaluedMap<String, String> headers) { StringBuilder msg = new StringBuilder("The HTTP headers are: \n"); for (Map.Entry<String, List<String>> entry : headers.entrySet()) { msg.append(entry.getKey()).append(": "); for (int i = 0; i < entry.getValue().size(); i++) { msg.append(entry.getValue().get(i)); if (i < entry.getValue().size() - 1) { msg.append(", "); } } msg.append("\n"); } logger.info(msg.toString()); }
protected void logHttpHeaders(MultivaluedMap<String, String> headers) { StringBuilder msg = new StringBuilder("The HTTP headers are: \n"); for (Map.Entry<String, List<String>> entry : headers.entrySet()) { msg.append(entry.getKey()).append(": "); for (int i = 0; i < entry.getValue().size(); i++) { msg.append(entry.getValue().get(i)); if (i < entry.getValue().size() - 1) { msg.append(", "); } } msg.append("\n"); } logger.info(msg.toString()); }
/** Construct an new response initialized with all the incoming query parameters. */ public Response(UriInfo info) { this.requestParameters = new HashMap<String, String>(); if (info == null) { // in tests where there is no HTTP request, just leave the map empty return; } for (Entry<String, List<String>> e : info.getQueryParameters().entrySet()) { // include only the first instance of each query parameter requestParameters.put(e.getKey(), e.getValue().get(0)); } }
/** * Add new headers. * * @param newHeaders new headers. * @return updated context. */ public InboundMessageContext headers(MultivaluedMap<String, String> newHeaders) { for (Map.Entry<String, List<String>> header : newHeaders.entrySet()) { headers.addAll(header.getKey(), header.getValue()); } return this; }
/** * Add new headers. * * @param newHeaders new headers. * @return updated context. */ public InboundMessageContext headers(MultivaluedMap<String, String> newHeaders) { for (Map.Entry<String, List<String>> header : newHeaders.entrySet()) { headers.addAll(header.getKey(), header.getValue()); } return this; }
private static Map<String, String> headersOf(ClientResponse response) { MultivaluedMap<String, String> jerseyHeaders = response.getHeaders(); if (jerseyHeaders == null || jerseyHeaders.isEmpty()) { return Collections.emptyMap(); } Map<String, String> headers = new HashMap<>(); for (Entry<String, List<String>> entry : jerseyHeaders.entrySet()) { if (!entry.getValue().isEmpty()) { headers.put(entry.getKey(), entry.getValue().get(0)); } } return headers; } }
private static Map<String, String> headersOf(Response response) { MultivaluedMap<String, String> jerseyHeaders = response.getStringHeaders(); if (jerseyHeaders == null || jerseyHeaders.isEmpty()) { return Collections.emptyMap(); } Map<String, String> headers = new HashMap<>(); for (Entry<String, List<String>> entry : jerseyHeaders.entrySet()) { if (!entry.getValue().isEmpty()) { headers.put(entry.getKey(), entry.getValue().get(0)); } } return headers; } }
public static void dumpMultivaluedMap(StringBuilder sb, MultivaluedMap<String, String> map) { if (map == null) { sb.append(" [ null ]\n"); return; } for (Map.Entry<String, List<String>> headerEntry : map.entrySet()) { sb.append(" ").append(headerEntry.getKey()).append(" : "); final Iterator<String> valueIterator = headerEntry.getValue().iterator(); sb.append(valueIterator.next()); while (valueIterator.hasNext()) { sb.append(", ").append(valueIterator.next()); } sb.append('\n'); } } }
private void encodeQuery() { if (queryParams == null || queryParams.isEmpty()) { return; } for (final Map.Entry<String, List<String>> e : queryParams.entrySet()) { final String name = e.getKey(); for (final String value : e.getValue()) { if (query.length() > 0) { query.append('&'); } query.append(name).append('=').append(value); } } queryParams = null; }
/** * Convert request/response headers from {@link MultivaluedMap} into printable form. * * @param headers multi-valued map of request or response headers * @return {@code String} representation, e.g. "[header1=foo]; [header2=bar, baz]" */ static String headersAsString(final MultivaluedMap<String, ?> headers) { return headers.entrySet() .stream() .map((entry) -> "[" + entry.getKey() + "=" + entry.getValue() .stream() .map(Object::toString) .collect(Collectors.joining(", ")) + "]") .collect(Collectors.joining("; ")); }
private void encodeQuery() { if (queryParams == null || queryParams.isEmpty()) { return; } for (final Map.Entry<String, List<String>> e : queryParams.entrySet()) { final String name = e.getKey(); for (final String value : e.getValue()) { if (query.length() > 0) { query.append('&'); } query.append(name).append('=').append(value); } } queryParams = null; }
private void encodeMatrix() { if (matrixParams == null || matrixParams.isEmpty()) { return; } for (final Map.Entry<String, List<String>> e : matrixParams.entrySet()) { final String name = e.getKey(); for (final String value : e.getValue()) { path.append(';').append(name); if (!value.isEmpty()) { path.append('=').append(value); } } } matrixParams = null; }
private void encodeMatrix() { if (matrixParams == null || matrixParams.isEmpty()) { return; } for (final Map.Entry<String, List<String>> e : matrixParams.entrySet()) { final String name = e.getKey(); for (final String value : e.getValue()) { path.append(';').append(name); if (!value.isEmpty()) { path.append('=').append(value); } } } matrixParams = null; }
private Map<String, List<String>> translateHeaders(ClientRequest clientRequest, HttpRequest httpRequest) { Map<String, List<String>> headers = httpRequest.getHeaders(); for (Map.Entry<String, List<String>> header : clientRequest.getStringHeaders().entrySet()) { List<String> values = new ArrayList<>(header.getValue()); headers.put(header.getKey(), values); } return headers; }
/** * Create new parameterized headers map from given headers. * * @param headers headers to initialize this map from. * @throws ParseException if an un-expected/in-correct value is found during parsing the headers. */ public ParameterizedHeadersMap(final MultivaluedMap<String, String> headers) throws ParseException { for (Map.Entry<String, List<String>> entry : headers.entrySet()) { List<ParameterizedHeader> list = new ArrayList<ParameterizedHeader>(entry.getValue().size()); for (String value : entry.getValue()) { list.add(new ParameterizedHeader(value)); } this.put(entry.getKey(), list); } }
private void printRequestHeaders(StringBuilder b, MultivaluedMap<String, String> headers) { for (Map.Entry<String, List<String>> e : headers.entrySet()) { String header = e.getKey(); for (String value : e.getValue()) { prefixId(b).append(REQUEST_PREFIX).append(header).append(": "). append(value).append('\n'); } } prefixId(b).append(REQUEST_PREFIX).append('\n'); }
static void initHints(HintsMap m, MultivaluedMap<String, String> parameterMap) { for (Map.Entry<String, List<String>> e : parameterMap.entrySet()) { if (e.getValue().size() == 1) { m.put(e.getKey(), e.getValue().get(0)); } else { // Do nothing. // TODO: this is dangerous: I can only silently swallow // the forbidden multiparameter. If I comment-in the line below, // I get an exception, because "point" regularly occurs // multiple times. // I think either unknown parameters (hints) should be allowed // to be multiparameters, too, or we shouldn't use them for // known parameters either, _or_ known parameters // must be filtered before they come to this code point, // _or_ we stop passing unknown parameters alltogether.. // // throw new WebApplicationException(String.format("This query parameter (hint) is not allowed to occur multiple times: %s", e.getKey())); } } }
private void printResponseHeaders(StringBuilder b, MultivaluedMap<String, Object> headers) { for (Map.Entry<String, List<Object>> e : headers.entrySet()) { String header = e.getKey(); for (Object value : e.getValue()) { prefixId(b).append(RESPONSE_PREFIX).append(header).append(": "). append(ContainerResponse.getHeaderValue(value)).append('\n'); } } prefixId(b).append(RESPONSE_PREFIX).append('\n'); } }
public <M extends MultivaluedMap<String, String>> void writeTo( M t, MediaType mediaType, OutputStream entityStream) throws IOException { final String charsetName = ReaderWriter.getCharset(mediaType).name(); final StringBuilder sb = new StringBuilder(); for (Map.Entry<String, List<String>> e : t.entrySet()) { for (String value : e.getValue()) { if (sb.length() > 0) { sb.append('&'); } sb.append(URLEncoder.encode(e.getKey(), charsetName)); if (value != null) { sb.append('='); sb.append(URLEncoder.encode(value, charsetName)); } } } writeToAsString(sb.toString(), entityStream, mediaType); } }