@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String startDate = req.getParameter(Param.START_DATE); String endDate = req.getParameter(Param.END_DATE); String leaderboardStartDate = req.getParameter(Param.LEADERBOARD_START_DATE); String minRequiredGames = req.getParameter(Param.MIN_REQ_GAMES); Cors.addHeaders(req, resp); try { switch (RequestType.from(req)) { case GAME: printGameStats(resp); break; case MATCHMAKER: printJson(resp, db.makeMatch(startDate, endDate, getPlayers(req))); break; case PLAYER: printJson( resp, db.recalculate(startDate, endDate, minRequiredGames, leaderboardStartDate).toJson()); break; } } catch (Exception e) { e.printStackTrace(); resp.sendError(500, e.toString()); } }