@Override
    public void parseAndHandleRequest(Socket socket, String baseDir) {
        try (
                InputStream inputStream = socket.getInputStream();
                InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
                BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
                OutputStream outputStream = socket.getOutputStream();
                OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream);
        ) {
            HttpRequest httpRequest = parseRequest(bufferedReader, baseDir);
            HttpResponse httpResponse = httpRequest.execute();
            httpResponse.write(outputStreamWriter);
        } catch (IOException exception) {
            System.out.println("Did not process request");
        }
    }