@Override public HttpHeaders getHeaders() { HttpHeaders headers = new HttpHeaders(); this.reactiveResponse.getHeaders().stream() .forEach(field -> headers.add(field.getName(), field.getValue())); return headers; }
@Override public Map<String, String> toSingleValueMap() { Map<String, String> singleValueMap = new LinkedHashMap<>(this.headers.size()); Iterator<HttpField> iterator = this.headers.iterator(); iterator.forEachRemaining(field -> { if (!singleValueMap.containsKey(field.getName())) { singleValueMap.put(field.getName(), field.getValue()); } }); return singleValueMap; }
@Override public HttpHeaders getHeaders() { HttpHeaders headers = new HttpHeaders(); this.reactiveResponse.getHeaders().stream() .forEach(field -> headers.add(field.getName(), field.getValue())); return headers; }
private static void processResponseHeaders(final HttpFields respHeaders, final ClientResponse jerseyResponse) { for (final HttpField header : respHeaders) { final String headerName = header.getName(); final MultivaluedMap<String, String> headers = jerseyResponse.getHeaders(); List<String> list = headers.get(headerName); if (list == null) { list = new ArrayList<>(); } list.add(header.getValue()); headers.put(headerName, list); } }
@Override public Map<String, String> toSingleValueMap() { Map<String, String> singleValueMap = new LinkedHashMap<>(this.headers.size()); Iterator<HttpField> iterator = this.headers.iterator(); iterator.forEachRemaining(field -> { if (!singleValueMap.containsKey(field.getName())) { singleValueMap.put(field.getName(), field.getValue()); } }); return singleValueMap; }
void send(Response response) { if (sent) { return; } sent = true; resp.setStatus(response.getStatus()); for (HttpField field : response.getHeaders()) { if (field.getName().toLowerCase().equals("location")) { String value = field.getValue(); if (value.startsWith(proxyUrl)) { String relLocation = value.substring(proxyUrl.length()); resp.addHeader(field.getName(), "http://localhost:" + port + proxyPath + relLocation); continue; } } resp.addHeader(field.getName(), field.getValue()); } } }
private static HttpHeaders toResponseHeaders(ArmeriaHttpTransport transport) { final MetaData.Response info = transport.info; if (info == null) { throw new IllegalStateException("response metadata unavailable"); } final HttpHeaders headers = HttpHeaders.of(HttpStatus.valueOf(info.getStatus())); info.getFields().forEach(e -> headers.add(HttpHeaderNames.of(e.getName()), e.getValue())); if (transport.method != HttpMethod.HEAD) { headers.setLong(HttpHeaderNames.CONTENT_LENGTH, transport.contentLength); } return headers; }
MultivaluedMap<String, String> extract(HttpFields headers) { final MultivaluedMap<String, String> extracted = new MultivaluedHashMap<>(); headers.forEach(h -> extracted.add(h.getName(), h.getValue())); return extracted; }
@Override public String nextElement() throws NoSuchElementException { if (hasMoreElements()) { String value=field.getValue(); field=null; return value; } throw new NoSuchElementException(); } };
@Override public String toString() { String v=getValue(); return getName() + ": " + (v==null?"":v); }
public String get(HttpHeader header) { for (int i=0;i<_size;i++) { HttpField f=_fields[i]; if (f.getHeader()==header) return f.getValue(); } return null; }
public String get(String header) { for (int i=0;i<_size;i++) { HttpField f=_fields[i]; if (f.getName().equalsIgnoreCase(header)) return f.getValue(); } return null; }
/** * @return the value of a field, or null if not found. For multiple fields of the same name, * only the first is returned. * @param name the case-insensitive field name */ public String getStringField(String name) { HttpField field = getField(name); return field==null?null:field.getValue(); }
@Override public String toString() { String v=getValue(); return getName() + ": " + (v==null?"":v.toString()); }
/** * @return the value of a field, or null if not found. For multiple fields of the same name, * only the first is returned. * @param name the case-insensitive field name */ public String getStringField(String name) { HttpField field = getField(name); return field==null?null:field.getValue(); }
@Override public String toString() { String v=getValue(); return getName() + ": " + (v==null?"":v); }
public boolean contains(HttpField field) { for (int i=_size;i-->0;) { HttpField f=_fields[i]; if (f.isSameName(field) && f.contains(field.getValue())) return true; } return false; }
@Override public boolean parsedHeader(HttpField field) { put(field.getName(),field.getValue()); return false; }
public boolean contains(HttpField field) { for (int i=_size;i-->0;) { HttpField f=_fields[i]; if (f.isSameName(field) && (f.equals(field)||f.contains(field.getValue()))) return true; } return false; }