@Override public RawHttpRequest withHeaders(RawHttpHeaders headers, boolean append) { return new RawHttpRequest(requestLine, append ? getHeaders().and(headers) : headers.and(getHeaders()), getBody().orElse(null), getSenderAddress().orElse(null)); }
/** * Create a copy of this HTTP request, replacing its requestLine with the provided one. * * @param requestLine to replace * @return copy of this HTTP message with the provided requestLine */ public RawHttpRequest withRequestLine(RequestLine requestLine) { return new RawHttpRequest(requestLine, getHeaders(), getBody().orElse(null), getSenderAddress().orElse(null)); }
/** * Create a copy of this HTTP request, replacing its requestLine with the provided one. * * @param requestLine to replace * @return copy of this HTTP message with the provided requestLine */ public RawHttpRequest withRequestLine(RequestLine requestLine) { return new RawHttpRequest(requestLine, getHeaders(), getBody().orElse(null), getSenderAddress().orElse(null)); }
@Override public RawHttpRequest withHeaders(RawHttpHeaders headers, boolean append) { return new RawHttpRequest(requestLine, append ? getHeaders().and(headers) : headers.and(getHeaders()), getBody().orElse(null), getSenderAddress().orElse(null)); }
@Override public RawHttpRequest withBody(HttpMessageBody body) { return new RawHttpRequest(requestLine, body.headersFrom(getHeaders()), body.toBodyReader(), getSenderAddress().orElse(null)); }
@Override public RawHttpRequest withBody(HttpMessageBody body) { return new RawHttpRequest(requestLine, body.headersFrom(getHeaders()), body.toBodyReader(), getSenderAddress().orElse(null)); }
.orElse(emptyRawHttpHeaders()); if (trailingHeaders.isEmpty()) { headers = request.getHeaders(); } else { headers = RawHttpHeaders.newBuilder(request.getHeaders()) .merge(trailingHeaders) .build(); headers = request.getHeaders();
.orElse(emptyRawHttpHeaders()); if (trailingHeaders.isEmpty()) { headers = request.getHeaders(); } else { headers = RawHttpHeaders.newBuilder(request.getHeaders()) .merge(trailingHeaders) .build(); headers = request.getHeaders();
public RawHttpResponse<CloseableHttpResponse> send(RawHttpRequest request) throws IOException { RequestBuilder builder = RequestBuilder.create(request.getMethod()); builder.setUri(request.getUri()); builder.setVersion(toProtocolVersion(request.getStartLine().getHttpVersion())); request.getHeaders().getHeaderNames().forEach((name) -> request.getHeaders().get(name).forEach(value -> builder.addHeader(new BasicHeader(name, value)))); request.getBody().ifPresent(b -> builder.setEntity(new InputStreamEntity(b.asRawStream()))); CloseableHttpResponse response = httpClient.execute(builder.build()); RawHttpHeaders headers = readHeaders(response); StatusLine statusLine = adaptStatus(response.getStatusLine()); @Nullable LazyBodyReader body; if (response.getEntity() != null) { FramedBody framedBody = http.getFramedBody(statusLine, headers); body = new LazyBodyReader(framedBody, response.getEntity().getContent()); } else { body = null; } return new RawHttpResponse<>(response, request, statusLine, headers, body); }
((InetSocketAddress) client.getRemoteSocketAddress()).getAddress()); HttpVersion httpVersion = request.getStartLine().getHttpVersion(); Optional<String> connectionOption = request.getHeaders().getFirst("Connection");
((InetSocketAddress) client.getRemoteSocketAddress()).getAddress()); HttpVersion httpVersion = request.getStartLine().getHttpVersion(); Optional<String> connectionOption = request.getHeaders().getFirst("Connection");
@Override public Optional<RawHttpResponse<?>> route(RawHttpRequest request) { final Optional<RawHttpResponse<?>> response; if (request.getMethod().equals("GET")) { String path = request.getStartLine().getUri() .normalize().getPath() .replaceAll(DIR_BACK_PATTERN, ""); // provide the index.html file at the root path if (path.isEmpty() || path.equals("/")) { path = "index.html"; } Optional<FileResult> resource = fileLocator.find(path, request.getHeaders().get("Accept")); response = resource.map(fileResult -> HttpResponses.getOkResponse(request.getStartLine().getHttpVersion()) .withHeaders(fileResult.contentTypeHeader) .withBody(new FileBody(fileResult.file))); } else { response = Optional.of(HttpResponses.getMethodNotAllowedResponse(request.getStartLine().getHttpVersion())); } return response; }
request.getHeaders().getFirst("Accept").orElse("")); request.getHeaders().getHeaderNames());