From 2914966650eee653acdc552bebaae840efff9f1c Mon Sep 17 00:00:00 2001 From: Rsl1122 <24460436+Rsl1122@users.noreply.github.com> Date: Thu, 13 Feb 2020 23:28:13 +0200 Subject: [PATCH] Refactored /players page to use ResolverService Deprecated a lot of the old response factory methods --- .../delivery/export/PlayerJSONExporter.java | 2 +- .../rendering/pages/ErrorMessagePage.java | 59 ++++++++ .../delivery/rendering/pages/PageFactory.java | 10 ++ .../delivery/webserver/RequestHandler.java | 2 +- .../delivery/webserver/ResponseResolver.java | 40 +++--- .../pages/CompositePageResolver.java | 2 +- .../webserver/pages/DebugPageResolver.java | 19 +-- .../webserver/pages/PlayerPageResolver.java | 8 +- .../webserver/pages/PlayersPageResolver.java | 28 +--- .../webserver/pages/RootPageResolver.java | 12 +- .../webserver/pages/ServerPageResolver.java | 6 +- .../webserver/response/ResponseFactory.java | 132 +++++++++++------- 12 files changed, 194 insertions(+), 126 deletions(-) create mode 100644 Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/pages/ErrorMessagePage.java diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerJSONExporter.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerJSONExporter.java index 5af1900ef..30be47429 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerJSONExporter.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/export/PlayerJSONExporter.java @@ -57,6 +57,6 @@ public class PlayerJSONExporter extends FileExporter { } private void exportJSON(Path to, UUID playerUUID) throws IOException { - export(to, responseFactory.rawPlayerPageResponse(playerUUID).getContent()); + export(to, responseFactory.rawPlayerPageResponse_old(playerUUID).getContent()); } } \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/pages/ErrorMessagePage.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/pages/ErrorMessagePage.java new file mode 100644 index 000000000..5c3b26c03 --- /dev/null +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/pages/ErrorMessagePage.java @@ -0,0 +1,59 @@ +/* + * This file is part of Player Analytics (Plan). + * + * Plan is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License v3 as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Plan is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Plan. If not, see . + */ +package com.djrapitops.plan.delivery.rendering.pages; + +import com.djrapitops.plan.delivery.formatting.PlaceholderReplacer; +import com.djrapitops.plan.delivery.rendering.html.Contributors; +import com.djrapitops.plan.delivery.rendering.html.icon.Icon; +import com.djrapitops.plan.version.VersionCheckSystem; + +/** + * Page to display error stacktrace. + * + * @author Rsl1122 + */ +public class ErrorMessagePage implements Page { + + private final String template; + private final String errorTitle; + private final String errorMsg; + + private final VersionCheckSystem versionCheckSystem; + + public ErrorMessagePage( + String template, String errorTitle, String errorMsg, + VersionCheckSystem versionCheckSystem + ) { + this.template = template; + this.errorTitle = errorTitle; + this.errorMsg = errorMsg; + this.versionCheckSystem = versionCheckSystem; + } + + @Override + public String toHtml() { + + PlaceholderReplacer placeholders = new PlaceholderReplacer(); + placeholders.put("title", Icon.called("exclamation-circle") + " " + errorTitle); + placeholders.put("titleText", errorTitle); + placeholders.put("paragraph", errorMsg); + placeholders.put("version", versionCheckSystem.getUpdateButton().orElse(versionCheckSystem.getCurrentVersionButton())); + placeholders.put("updateModal", versionCheckSystem.getUpdateModal()); + placeholders.put("contributors", Contributors.generateContributorHtml()); + return placeholders.apply(template); + } +} \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/pages/PageFactory.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/pages/PageFactory.java index 5822271a2..323e3090e 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/pages/PageFactory.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/pages/PageFactory.java @@ -174,6 +174,16 @@ public class PageFactory { } } + public Page errorPage(String title, String error) { + try { + return new ErrorMessagePage( + getResource("web/error.html"), title, error, + versionCheckSystem.get()); + } catch (IOException noParse) { + return internalErrorPage("Failed to create error message page for error: '" + error + "'", noParse); + } + } + public String getResource(String name) throws IOException { return files.get().getCustomizableResourceOrDefault(name).asString(); } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestHandler.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestHandler.java index 334fd6c81..2d4a100ba 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestHandler.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/RequestHandler.java @@ -167,7 +167,7 @@ public class RequestHandler implements HttpHandler { } private Optional createForbiddenResponse() { - return Optional.of(responseFactory.forbidden403("You have too many failed login attempts. Please wait 2 minutes until attempting again.")); + return Optional.of(responseFactory.forbidden403_old("You have too many failed login attempts. Please wait 2 minutes until attempting again.")); } private Authentication getAuthorization(Headers requestHeaders) { diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseResolver.java index 32c08cc44..ce68f9885 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/ResponseResolver.java @@ -92,7 +92,7 @@ public class ResponseResolver extends CompositePageResolver { public void registerPages() { resolverService.registerResolver("Plan", "/debug", debugPageResolver); - registerPage("players", playersPageResolver); + resolverService.registerResolver("Plan", "/players", playersPageResolver); registerPage("player", playerPageResolver); registerPage("network", serverPageResolver); @@ -108,16 +108,16 @@ public class ResponseResolver extends CompositePageResolver { try { return tryToGetResponse(request); } catch (NotFoundException e) { - return responseFactory.notFound404(e.getMessage()); + return responseFactory.notFound404_old(e.getMessage()); } catch (WebUserAuthException e) { - return responseFactory.basicAuthFail(e); + return responseFactory.basicAuthFail_old(e); } catch (ForbiddenException e) { - return responseFactory.forbidden403(e.getMessage()); + return responseFactory.forbidden403_old(e.getMessage()); } catch (BadRequestException e) { - return responseFactory.badRequest(e.getMessage(), request.getTargetString()); + return responseFactory.badRequest_old(e.getMessage(), request.getTargetString()); } catch (Exception e) { errorHandler.log(L.ERROR, this.getClass(), e); - return responseFactory.internalErrorResponse(e, request.getTargetString()); + return responseFactory.internalErrorResponse_old(e, request.getTargetString()); } } @@ -141,19 +141,19 @@ public class ResponseResolver extends CompositePageResolver { boolean isAuthRequired = webServer.get().isAuthRequired(); if (isAuthRequired && !authentication.isPresent()) { if (webServer.get().isUsingHTTPS()) { - return responseFactory.basicAuth(); + return responseFactory.basicAuth_old(); } else { - return responseFactory.forbidden403(); + return responseFactory.forbidden403_old(); } } if (!isAuthRequired || resolver.canAccess(authentication.get().getWebUser().toNewWebUser(), target, query)) { - return resolver.resolve(target, query).map(Response_old::from).orElseGet(responseFactory::pageNotFound404); + return resolver.resolve(target, query).map(Response_old::from).orElseGet(responseFactory::pageNotFound404_old); } else { - return responseFactory.forbidden403(); + return responseFactory.forbidden403_old(); } } else { - return resolver.resolve(target, query).map(Response_old::from).orElseGet(responseFactory::pageNotFound404); + return resolver.resolve(target, query).map(Response_old::from).orElseGet(responseFactory::pageNotFound404_old); } } @@ -163,36 +163,36 @@ public class ResponseResolver extends CompositePageResolver { String resource = target.getResourceString(); // TODO Turn into resolvers if (target.endsWith(".css")) { - return responseFactory.cssResponse(resource); + return responseFactory.cssResponse_old(resource); } if (target.endsWith(".js")) { - return responseFactory.javaScriptResponse(resource); + return responseFactory.javaScriptResponse_old(resource); } if (target.endsWith(".png")) { - return responseFactory.imageResponse(resource); + return responseFactory.imageResponse_old(resource); } if (target.endsWith("favicon.ico")) { - return responseFactory.faviconResponse(); + return responseFactory.faviconResponse_old(); } if (target.endsWithAny(".woff", ".woff2", ".eot", ".ttf")) { - return responseFactory.fontResponse(resource); + return responseFactory.fontResponse_old(resource); } boolean isAuthRequired = webServer.get().isAuthRequired(); if (isAuthRequired && !authentication.isPresent()) { if (webServer.get().isUsingHTTPS()) { - return responseFactory.basicAuth(); + return responseFactory.basicAuth_old(); } else { - return responseFactory.forbidden403(); + return responseFactory.forbidden403_old(); } } PageResolver pageResolver = getPageResolver(target); if (pageResolver == null) { - return responseFactory.pageNotFound404(); + return responseFactory.pageNotFound404_old(); } else { if (!isAuthRequired || pageResolver.isAuthorized(authentication.get(), target)) { return pageResolver.resolve(request, target); } - return responseFactory.forbidden403(); + return responseFactory.forbidden403_old(); } } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/CompositePageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/CompositePageResolver.java index 743524f9a..0da42e5fd 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/CompositePageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/CompositePageResolver.java @@ -90,7 +90,7 @@ public abstract class CompositePageResolver implements PageResolver { PageResolver pageResolver = getPageResolver(target); return pageResolver != null ? pageResolver.resolve(request, target) - : responseFactory.pageNotFound404(); + : responseFactory.pageNotFound404_old(); } @Deprecated diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/DebugPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/DebugPageResolver.java index 9bf7cdf07..88055e31a 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/DebugPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/DebugPageResolver.java @@ -16,14 +16,8 @@ */ package com.djrapitops.plan.delivery.webserver.pages; -import com.djrapitops.plan.delivery.domain.WebUser_old; import com.djrapitops.plan.delivery.web.resolver.*; -import com.djrapitops.plan.delivery.webserver.Request; -import com.djrapitops.plan.delivery.webserver.RequestTarget; -import com.djrapitops.plan.delivery.webserver.auth.Authentication; import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; -import com.djrapitops.plan.delivery.webserver.response.Response_old; -import com.djrapitops.plan.exceptions.WebUserAuthException; import javax.inject.Inject; import javax.inject.Singleton; @@ -35,7 +29,7 @@ import java.util.Optional; * @author Rsl1122 */ @Singleton -public class DebugPageResolver implements PageResolver, Resolver { +public class DebugPageResolver implements Resolver { private final ResponseFactory responseFactory; @@ -53,15 +47,4 @@ public class DebugPageResolver implements PageResolver, Resolver { public Optional resolve(URIPath target, URIQuery query) { return Optional.of(responseFactory.debugPageResponse()); } - - @Override - public Response_old resolve(Request request, RequestTarget target) { - return responseFactory.debugPageResponse_old(); - } - - @Override - public boolean isAuthorized(Authentication auth, RequestTarget target) throws WebUserAuthException { - WebUser_old webUser = auth.getWebUser(); - return webUser.getPermLevel() <= 0; - } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayerPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayerPageResolver.java index 92e5d4262..16371a4b5 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayerPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayerPageResolver.java @@ -59,7 +59,7 @@ public class PlayerPageResolver implements PageResolver { @Override public Response_old resolve(Request request, RequestTarget target) throws WebException { if (target.isEmpty()) { - return responseFactory.pageNotFound404(); + return responseFactory.pageNotFound404_old(); } String playerName = target.get(0); @@ -68,16 +68,16 @@ public class PlayerPageResolver implements PageResolver { boolean raw = target.size() >= 2 && target.get(1).equalsIgnoreCase("raw"); if (playerUUID == null) { - return responseFactory.uuidNotFound404(); + return responseFactory.uuidNotFound404_old(); } Database.State dbState = dbSystem.getDatabase().getState(); if (dbState != Database.State.OPEN) { throw new ForbiddenException("Database is " + dbState.name() + " - Please try again later. You can check database status with /plan info"); } if (raw) { - return responseFactory.rawPlayerPageResponse(playerUUID); + return responseFactory.rawPlayerPageResponse_old(playerUUID); } - return responseFactory.playerPageResponse(playerUUID); + return responseFactory.playerPageResponse_old(playerUUID); } @Override diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayersPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayersPageResolver.java index 991b4e6fe..31350e2a7 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayersPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/PlayersPageResolver.java @@ -16,19 +16,12 @@ */ package com.djrapitops.plan.delivery.webserver.pages; -import com.djrapitops.plan.delivery.webserver.Request; -import com.djrapitops.plan.delivery.webserver.RequestTarget; -import com.djrapitops.plan.delivery.webserver.auth.Authentication; +import com.djrapitops.plan.delivery.web.resolver.*; import com.djrapitops.plan.delivery.webserver.response.ResponseFactory; -import com.djrapitops.plan.delivery.webserver.response.Response_old; -import com.djrapitops.plan.exceptions.WebUserAuthException; -import com.djrapitops.plan.exceptions.connection.ForbiddenException; -import com.djrapitops.plan.exceptions.connection.WebException; -import com.djrapitops.plan.storage.database.DBSystem; -import com.djrapitops.plan.storage.database.Database; import javax.inject.Inject; import javax.inject.Singleton; +import java.util.Optional; /** * Resolves /players URL. @@ -36,31 +29,24 @@ import javax.inject.Singleton; * @author Rsl1122 */ @Singleton -public class PlayersPageResolver implements PageResolver { +public class PlayersPageResolver implements Resolver { - private final DBSystem dbSystem; private final ResponseFactory responseFactory; @Inject public PlayersPageResolver( - DBSystem dbSystem, ResponseFactory responseFactory ) { - this.dbSystem = dbSystem; this.responseFactory = responseFactory; } @Override - public Response_old resolve(Request request, RequestTarget target) throws WebException { - Database.State dbState = dbSystem.getDatabase().getState(); - if (dbState != Database.State.OPEN) { - throw new ForbiddenException("Database is " + dbState.name() + " - Please try again later. You can check database status with /plan info"); - } - return responseFactory.playersPageResponse(); + public boolean canAccess(WebUser permissions, URIPath target, URIQuery query) { + return permissions.hasPermission("page.players"); } @Override - public boolean isAuthorized(Authentication auth, RequestTarget target) throws WebUserAuthException { - return auth.getWebUser().getPermLevel() <= 1; + public Optional resolve(URIPath target, URIQuery query) { + return Optional.of(responseFactory.playersPageResponse()); } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/RootPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/RootPageResolver.java index 5ea3ef4b6..73e24817d 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/RootPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/RootPageResolver.java @@ -51,12 +51,12 @@ public class RootPageResolver implements PageResolver { public Response_old resolve(Request request, RequestTarget target) throws WebException { Server server = serverInfo.getServer(); if (!webServer.isAuthRequired()) { - return responseFactory.redirectResponse(server.isProxy() ? "network" : "server/" + Html.encodeToURL(server.getIdentifiableName())); + return responseFactory.redirectResponse_old(server.isProxy() ? "network" : "server/" + Html.encodeToURL(server.getIdentifiableName())); } Optional auth = request.getAuth(); if (!auth.isPresent()) { - return responseFactory.basicAuth(); + return responseFactory.basicAuth_old(); } WebUser_old webUser = auth.get().getWebUser(); @@ -64,13 +64,13 @@ public class RootPageResolver implements PageResolver { int permLevel = webUser.getPermLevel(); switch (permLevel) { case 0: - return responseFactory.redirectResponse(server.isProxy() ? "network" : "server/" + Html.encodeToURL(server.getIdentifiableName())); + return responseFactory.redirectResponse_old(server.isProxy() ? "network" : "server/" + Html.encodeToURL(server.getIdentifiableName())); case 1: - return responseFactory.redirectResponse("players"); + return responseFactory.redirectResponse_old("players"); case 2: - return responseFactory.redirectResponse("player/" + Html.encodeToURL(webUser.getName())); + return responseFactory.redirectResponse_old("player/" + Html.encodeToURL(webUser.getName())); default: - return responseFactory.forbidden403(); + return responseFactory.forbidden403_old(); } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/ServerPageResolver.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/ServerPageResolver.java index bfc35f75b..4a9b51ce1 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/ServerPageResolver.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/pages/ServerPageResolver.java @@ -71,13 +71,13 @@ public class ServerPageResolver implements PageResolver { if (serverUUID.isPresent()) { checkDBState(); if (proxy && serverInfo.getServerUUID().equals(serverUUID.get())) { - return responseFactory.networkPageResponse(); + return responseFactory.networkPageResponse_old(); } - return responseFactory.serverPageResponse(serverUUID.get()); + return responseFactory.serverPageResponse_old(serverUUID.get()); } else { // Redirect to base server page. String directTo = proxy ? "/network" : "/server/" + Html.encodeToURL(serverInfo.getServer().getIdentifiableName()); - return responseFactory.redirectResponse(webServer.get().getAccessAddress() + directTo); + return responseFactory.redirectResponse_old(webServer.get().getAccessAddress() + directTo); } } diff --git a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseFactory.java b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseFactory.java index 2eb7938b0..cb7d64e26 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseFactory.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/delivery/webserver/response/ResponseFactory.java @@ -21,12 +21,15 @@ import com.djrapitops.plan.delivery.rendering.pages.PageFactory; import com.djrapitops.plan.delivery.web.resolver.MimeType; import com.djrapitops.plan.delivery.web.resolver.Response; import com.djrapitops.plan.delivery.webserver.response.errors.*; -import com.djrapitops.plan.delivery.webserver.response.pages.*; +import com.djrapitops.plan.delivery.webserver.response.pages.PageResponse; +import com.djrapitops.plan.delivery.webserver.response.pages.RawDataResponse; +import com.djrapitops.plan.delivery.webserver.response.pages.RawPlayerDataResponse; import com.djrapitops.plan.exceptions.WebUserAuthException; import com.djrapitops.plan.exceptions.connection.NotFoundException; import com.djrapitops.plan.settings.locale.Locale; import com.djrapitops.plan.settings.locale.lang.ErrorPageLang; import com.djrapitops.plan.storage.database.DBSystem; +import com.djrapitops.plan.storage.database.Database; import com.djrapitops.plan.storage.database.queries.containers.ContainerFetchQueries; import com.djrapitops.plan.storage.file.PlanFiles; import com.djrapitops.plan.version.VersionCheckSystem; @@ -34,6 +37,7 @@ import com.djrapitops.plan.version.VersionCheckSystem; import javax.inject.Inject; import javax.inject.Singleton; import java.io.IOException; +import java.util.Optional; import java.util.UUID; /** @@ -86,24 +90,31 @@ public class ResponseFactory { .build(); } + public Response playersPageResponse() { + try { + Optional error = checkIfDBIsOpen(); + if (error.isPresent()) return error.get(); + return forPage(pageFactory.playersPage()); + } catch (IOException e) { + return forInternalError("Failed to generate players page", e); + } + } + + private Optional checkIfDBIsOpen() { + Database.State dbState = dbSystem.getDatabase().getState(); + if (dbState != Database.State.OPEN) { + return Optional.of(Response.builder().setContent(pageFactory.errorPage( + "503 Resources Unavailable", + "Database is " + dbState.name() + " - Please try again later. You can check database status with /plan info" + ).toHtml()).setMimeType(MimeType.HTML) + .setStatus(503) + .build()); + } + return Optional.empty(); + } + @Deprecated - public Response_old debugPageResponse_old() { - try { - return new DebugPageResponse(pageFactory.debugPage(), versionCheckSystem, files); - } catch (IOException e) { - return internalErrorResponse(e, "Failed to generate debug page"); - } - } - - public Response_old playersPageResponse() { - try { - return new PlayersPageResponse(pageFactory.playersPage()); - } catch (IOException e) { - return internalErrorResponse(e, "Failed to generate players page"); - } - } - - public ErrorResponse internalErrorResponse(Throwable e, String s) { + public ErrorResponse internalErrorResponse_old(Throwable e, String s) { try { return new InternalErrorResponse(s, e, versionCheckSystem, files); } catch (IOException improperRestartException) { @@ -115,47 +126,54 @@ public class ResponseFactory { } } - public Response_old networkPageResponse() { + @Deprecated + public Response_old networkPageResponse_old() { try { return new PageResponse(pageFactory.networkPage()); } catch (IOException e) { - return internalErrorResponse(e, "Failed to generate network page"); + return internalErrorResponse_old(e, "Failed to generate network page"); } } - public Response_old serverPageResponse(UUID serverUUID) throws NotFoundException { + @Deprecated + public Response_old serverPageResponse_old(UUID serverUUID) throws NotFoundException { try { return new PageResponse(pageFactory.serverPage(serverUUID)); } catch (IOException e) { - return internalErrorResponse(e, "Failed to generate server page"); + return internalErrorResponse_old(e, "Failed to generate server page"); } } - public RawDataResponse rawPlayerPageResponse(UUID uuid) { + @Deprecated + public RawDataResponse rawPlayerPageResponse_old(UUID uuid) { return new RawPlayerDataResponse(dbSystem.getDatabase().query(ContainerFetchQueries.fetchPlayerContainer(uuid))); } - public Response_old javaScriptResponse(String fileName) { + @Deprecated + public Response_old javaScriptResponse_old(String fileName) { try { return new JavaScriptResponse(fileName, files, locale); } catch (IOException e) { - return notFound404("JS File not found from jar: " + fileName + ", " + e.toString()); + return notFound404_old("JS File not found from jar: " + fileName + ", " + e.toString()); } } - public Response_old cssResponse(String fileName) { + @Deprecated + public Response_old cssResponse_old(String fileName) { try { return new CSSResponse(fileName, files); } catch (IOException e) { - return notFound404("CSS File not found from jar: " + fileName + ", " + e.toString()); + return notFound404_old("CSS File not found from jar: " + fileName + ", " + e.toString()); } } - public Response_old imageResponse(String fileName) { + @Deprecated + public Response_old imageResponse_old(String fileName) { return new ByteResponse(ResponseType.IMAGE, FileResponse.format(fileName), files); } - public Response_old fontResponse(String fileName) { + @Deprecated + public Response_old fontResponse_old(String fileName) { ResponseType type = ResponseType.FONT_BYTESTREAM; if (fileName.endsWith(".woff")) { type = ResponseType.FONT_WOFF; @@ -175,74 +193,86 @@ public class ResponseFactory { * @param location Starts with '/' * @return Redirection response. */ - public Response_old redirectResponse(String location) { + @Deprecated + public Response_old redirectResponse_old(String location) { return new RedirectResponse(location); } - public Response_old faviconResponse() { + @Deprecated + public Response_old faviconResponse_old() { return new ByteResponse(ResponseType.X_ICON, "web/favicon.ico", files); } - public ErrorResponse pageNotFound404() { - return notFound404(locale.getString(ErrorPageLang.UNKNOWN_PAGE_404)); + @Deprecated + public ErrorResponse pageNotFound404_old() { + return notFound404_old(locale.getString(ErrorPageLang.UNKNOWN_PAGE_404)); } - public ErrorResponse uuidNotFound404() { - return notFound404(locale.getString(ErrorPageLang.UUID_404)); + @Deprecated + public ErrorResponse uuidNotFound404_old() { + return notFound404_old(locale.getString(ErrorPageLang.UUID_404)); } - public ErrorResponse playerNotFound404() { - return notFound404(locale.getString(ErrorPageLang.NOT_PLAYED_404)); + @Deprecated + public ErrorResponse playerNotFound404_old() { + return notFound404_old(locale.getString(ErrorPageLang.NOT_PLAYED_404)); } - public ErrorResponse notFound404(String message) { + @Deprecated + public ErrorResponse notFound404_old(String message) { try { return new NotFoundResponse(message, versionCheckSystem, files); } catch (IOException e) { - return internalErrorResponse(e, "Failed to generate 404 page"); + return internalErrorResponse_old(e, "Failed to generate 404 page"); } } - public ErrorResponse basicAuthFail(WebUserAuthException e) { + @Deprecated + public ErrorResponse basicAuthFail_old(WebUserAuthException e) { try { return PromptAuthorizationResponse.getBasicAuthResponse(e, versionCheckSystem, files); } catch (IOException jarReadFailed) { - return internalErrorResponse(e, "Failed to generate PromptAuthorizationResponse"); + return internalErrorResponse_old(e, "Failed to generate PromptAuthorizationResponse"); } } - public ErrorResponse forbidden403() { - return forbidden403("Your user is not authorized to view this page.
" + @Deprecated + public ErrorResponse forbidden403_old() { + return forbidden403_old("Your user is not authorized to view this page.
" + "If you believe this is an error contact staff to change your access level."); } - public ErrorResponse forbidden403(String message) { + @Deprecated + public ErrorResponse forbidden403_old(String message) { try { return new ForbiddenResponse(message, versionCheckSystem, files); } catch (IOException e) { - return internalErrorResponse(e, "Failed to generate ForbiddenResponse"); + return internalErrorResponse_old(e, "Failed to generate ForbiddenResponse"); } } - public ErrorResponse basicAuth() { + @Deprecated + public ErrorResponse basicAuth_old() { try { return PromptAuthorizationResponse.getBasicAuthResponse(versionCheckSystem, files); } catch (IOException e) { - return internalErrorResponse(e, "Failed to generate PromptAuthorizationResponse"); + return internalErrorResponse_old(e, "Failed to generate PromptAuthorizationResponse"); } } - public BadRequestResponse badRequest(String errorMessage, String target) { + @Deprecated + public BadRequestResponse badRequest_old(String errorMessage, String target) { return new BadRequestResponse(errorMessage + " (when requesting '" + target + "')"); } - public Response_old playerPageResponse(UUID playerUUID) { + @Deprecated + public Response_old playerPageResponse_old(UUID playerUUID) { try { return new PageResponse(pageFactory.playerPage(playerUUID)); } catch (IllegalStateException e) { - return playerNotFound404(); + return playerNotFound404_old(); } catch (IOException e) { - return internalErrorResponse(e, "Failed to generate player page"); + return internalErrorResponse_old(e, "Failed to generate player page"); } } } \ No newline at end of file