/** * @return the URI in the method-line. */ public URI getUri() { return requestLine.getUri(); }
/** * @return the URI in the method-line. */ public URI getUri() { return requestLine.getUri(); }
private RequestLine verifyHost(RequestLine requestLine, RawHttpHeaders.Builder headers) { List<String> hostHeaderValues = headers.get("Host"); URI requestLineUri = requestLine.getUri(); @Nullable String requestLineHost = requestLineUri.getHost(); if (hostHeaderValues.isEmpty()) { RequestLine newRequestLine = requestLine.withHost(hostHeaderValues.iterator().next()); headers.overwrite("Host", newRequestLine.getUri().getHost()); return newRequestLine; } catch (IllegalArgumentException e) {
private RequestLine verifyHost(RequestLine requestLine, RawHttpHeaders.Builder headers) { List<String> hostHeaderValues = headers.get("Host"); URI requestLineUri = requestLine.getUri(); @Nullable String requestLineHost = requestLineUri.getHost(); if (hostHeaderValues.isEmpty()) { RequestLine newRequestLine = requestLine.withHost(hostHeaderValues.iterator().next()); headers.overwrite("Host", newRequestLine.getUri().getHost()); return newRequestLine; } catch (IllegalArgumentException e) {
@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; }