@GET
    @Path("/{repoName}")
    @Produces(MediaType.APPLICATION_JSON)
    public String getRepositoryFiles(
            @PathParam("repoName") String repoName,
            @Context HttpServletRequest request) {
        
        RepositoryVm repositoryVm;
        Gson gson = new Gson();
        
        if (StringUtils.isEmpty(repoName)) {
            repositoryVm = new RepositoryVm();
            repositoryVm.setErrorMessage("You must provide a repository name.");
            return gson.toJson(repositoryVm);
        }
    
        try {
            repositoryVm = dao.getRepoFiles(repoName, getBaseUrl(request));
        }
        catch (NotFoundException e) {
            logger.log(Level.WARNING, e.getMessage(), e);
            repositoryVm = new RepositoryVm();
            repositoryVm.setErrorMessage("Could not find repository " + repoName + ".");
        }
        catch (IOException e) {
            logger.log(Level.SEVERE, "Failed to load repo file list: {0}", e.getMessage());
            throw new WebApplicationException(Response.Status.INTERNAL_SERVER_ERROR);
        }
        
        return gson.toJson(repositoryVm);
    }