@Override public Set<Entry<String, List<String>>> entrySet() { return this.headers.entrySet(); }
private String formatHeaders(HttpHeaders headers, String delimiter) { return headers.entrySet().stream() .map(entry -> entry.getKey() + ": " + entry.getValue()) .collect(Collectors.joining(delimiter)); }
private String headersToString(HttpHeaders headers) { StringBuilder builder = new StringBuilder(); for(Entry<String, List<String>> entry : headers.entrySet()) { builder.append(entry.getKey()).append("=["); for(String value : entry.getValue()) { builder.append(value).append(","); } builder.setLength(builder.length() - 1); // Get rid of trailing comma builder.append("],"); } builder.setLength(builder.length() - 1); // Get rid of trailing comma return builder.toString(); }
/** * Add headers to the request that is being built * @param headers The headers to add * @param requestBuilder The current request */ protected void addHeadersToRequest(HttpHeaders headers, BodyBuilder requestBuilder) { for (Entry<String, List<String>> entry : headers.entrySet()) { List<String> values = entry.getValue(); for(String value : values) { if (value != null) { requestBuilder.header(entry.getKey(), value); } } } }
private void writeHeaders() throws IOException { if (!this.headersWritten) { for (Map.Entry<String, List<String>> entry : this.headers.entrySet()) { byte[] headerName = getBytes(entry.getKey()); for (String headerValueString : entry.getValue()) { byte[] headerValue = getBytes(headerValueString); this.outputStream.write(headerName); this.outputStream.write(':'); this.outputStream.write(' '); this.outputStream.write(headerValue); writeNewLine(this.outputStream); } } writeNewLine(this.outputStream); this.headersWritten = true; } }
protected HttpHeaders filterHeaders(HttpHeaders headers) { HttpHeaders filtered = new HttpHeaders(); filtered.putAll(headers.entrySet() .stream() .filter(e -> this.includeHeader(e.getKey())) .collect(toMap(Map.Entry::getKey, Map.Entry::getValue))); return filtered; }
@Override public HttpHeaders filter(HttpHeaders input, ServerWebExchange exchange) { HttpHeaders filtered = new HttpHeaders(); input.entrySet().stream() .filter(entry -> !this.headers.contains(entry.getKey().toLowerCase())) .forEach(entry -> filtered.addAll(entry.getKey(), entry.getValue())); return filtered; }
private void writeHeaders() throws IOException { if (!this.headersWritten) { for (Map.Entry<String, List<String>> entry : this.headers.entrySet()) { byte[] headerName = getBytes(entry.getKey()); for (String headerValueString : entry.getValue()) { byte[] headerValue = getBytes(headerValueString); this.outputStream.write(headerName); this.outputStream.write(':'); this.outputStream.write(' '); this.outputStream.write(headerValue); writeNewLine(this.outputStream); } } writeNewLine(this.outputStream); this.headersWritten = true; } }
private List<HttpHeadersFilter> getHeadersFilters() { List<HttpHeadersFilter> filters = this.headersFilters.getIfAvailable(); if (filters == null) { filters = new ArrayList<>(); } filters.add((headers, exchange) -> { HttpHeaders filtered = new HttpHeaders(); headers.entrySet().stream() .filter(entry -> !entry.getKey().toLowerCase().startsWith("sec-websocket")) .forEach(header -> filtered.addAll(header.getKey(), header.getValue())); return filtered; }); return filters; }
private void addHeaders(RequestEntity.HeadersBuilder<?> builder, HttpHeaders headers) { for (Map.Entry<String, List<String>> entry : headers.entrySet()) { for (String value : entry.getValue()) { builder.header(entry.getKey(), value); } } }
HttpHeaders requestHeaders = request.getHeaders(); if (!this.headers.isEmpty()) { this.headers.entrySet().stream() .filter(entry -> !requestHeaders.containsKey(entry.getKey())) .forEach(entry -> requestHeaders
private DataBuffer generateHeaders() { DataBuffer buffer = this.bufferFactory.allocateBuffer(); for (Map.Entry<String, List<String>> entry : this.headers.entrySet()) { byte[] headerName = entry.getKey().getBytes(this.charset); for (String headerValueString : entry.getValue()) { byte[] headerValue = headerValueString.getBytes(this.charset); buffer.write(headerName); buffer.write((byte)':'); buffer.write((byte)' '); buffer.write(headerValue); buffer.write((byte)'\r'); buffer.write((byte)'\n'); } } buffer.write((byte)'\r'); buffer.write((byte)'\n'); return buffer; }
@Override public HttpHeaders filter(HttpHeaders headers, ServerWebExchange exchange) { HttpHeaders result = new HttpHeaders(); headers.entrySet().forEach(entry -> { if (!headerNamesSet.contains(entry.getKey())) { result.put(entry.getKey(), entry.getValue()); } }); return result; }
private HttpHeaders filter(HttpHeaders input, String keyToFilter) { HttpHeaders filtered = new HttpHeaders(); input.entrySet().stream().filter(entry -> !entry.getKey().equals(keyToFilter)) .forEach(entry -> filtered.addAll(entry.getKey(), entry.getValue())); return filtered; } }
private DataBuffer generateHeaders() { DataBuffer buffer = this.bufferFactory.allocateBuffer(); for (Map.Entry<String, List<String>> entry : this.headers.entrySet()) { byte[] headerName = entry.getKey().getBytes(this.charset); for (String headerValueString : entry.getValue()) { byte[] headerValue = headerValueString.getBytes(this.charset); buffer.write(headerName); buffer.write((byte)':'); buffer.write((byte)' '); buffer.write(headerValue); buffer.write((byte)'\r'); buffer.write((byte)'\n'); } } buffer.write((byte)'\r'); buffer.write((byte)'\n'); return buffer; }
original.entrySet().stream() .filter(entry -> !entry.getKey().toLowerCase().equalsIgnoreCase(FORWARDED_HEADER)) .forEach(entry -> updated.addAll(entry.getKey(), entry.getValue()));
HttpHeaders responseHeaders = exchange.getResponse().getHeaders(); if (!entityHeaders.isEmpty()) { entityHeaders.entrySet().stream() .forEach(entry -> responseHeaders.put(entry.getKey(), entry.getValue()));
HttpHeaders updated = new HttpHeaders(); original.entrySet().stream() .forEach(entry -> updated.addAll(entry.getKey(), entry.getValue()));
@Override public void handle(HttpExchange httpExchange) throws IOException { wasInvoked = true; HttpsExchange exchange = (HttpsExchange) httpExchange; for (Map.Entry<String, List<String>> entry : headers.entrySet()) { for (String value : entry.getValue()) { exchange.getResponseHeaders().add(entry.getKey(), value); } } exchange.getResponseHeaders().add("Access-Control-Allow-Origin", "*"); exchange.sendResponseHeaders(200, responseBody.length()); OutputStream os = exchange.getResponseBody(); os.write(responseBody.getBytes()); os.flush(); os.close(); httpExchange.close(); } }
@Override public HttpHeaders getHeaders() { HttpHeaders filteredHeaders = new HttpHeaders(); for (Entry<String, List<String>> header : this.delegate.getHeaders().entrySet()) { if (allowedHeader(header)) { filteredHeaders.put(header.getKey(), header.getValue()); } } return HttpHeaders.readOnlyHttpHeaders(filteredHeaders); }