public Responder getHandler(Request request) {
    if (!isAURIMatch(request) && isADirectoryFileMatch(getDirectoryFileNames(), request)) return new FileResponder(directory, request.getURI());
    if (isAURIMatch(request) && isAValidMethod(request)) return getRoutesMap(request).get(request.getURI()).get(request.getHTTPMethod());
    if (isAURIMatch(request) && !isAValidMethod(request)) return new MethodNotAllowedResponder(Constants.SERVER_VIEWS_DIRECTORY);
    return new NotFoundResponder(Constants.SERVER_VIEWS_DIRECTORY);
  }