public static void main()

in LocalHTTPServer.java [32:82]


    public static void main(String[] args) throws IOException, URISyntaxException {
        HttpServer server = HttpServer.create(new InetSocketAddress(80), 0);
        server.setExecutor(Executors.newCachedThreadPool());
        Executor httpClientExecutor = Executors.newWorkStealingPool();

        var context = server.createContext("/WAGL/", (HttpExchange exchange) -> {

            var contentURI = exchange.getRequestURI().getPath().substring(1);
            var extension = contentURI.contains(".") ? contentURI.substring(contentURI.lastIndexOf(".")) : "";
            var path = (isStaticContent(extension) ? "http://localhost:3000/" : "https://dev.azure.com/") + contentURI;
            var requestMethod = exchange.getRequestMethod();

            System.out.println("path " + path + " method " + exchange.getRequestMethod());

            if (!".ico".equals(extension)) {
                try (var outputStream = exchange.getResponseBody()) {

                    var responseHeaders = exchange.getResponseHeaders();

                    if (requestMethod.equalsIgnoreCase("options")) {
                        CORS_HEADERS.forEach(responseHeaders::put);
                        exchange.sendResponseHeaders(200, -1);
                        outputStream.flush();
                    } else {
                        var response = executeRequest(path, httpClientExecutor, exchange);
                        var body = response.body();
                        var headers = response.headers().map();

                        headers.forEach(responseHeaders::put);
                        CORS_HEADERS.forEach(responseHeaders::put);
                        //responseHeaders.put("Connection", List.of("close"));

                        exchange.sendResponseHeaders(200, 0);
                        outputStream.write(body);
                        outputStream.flush();
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } else {
                exchange.sendResponseHeaders(404, 0);
                exchange.getResponseBody().flush();
            }

        });
        Runtime.getRuntime().addShutdownHook(new Thread(() -> {
            server.removeContext(context);
            server.stop(0);
        }));
        server.start();
    }