diff --git a/Plan/dependency-reduced-pom.xml b/Plan/dependency-reduced-pom.xml
index c843fc0af..53ca4a42f 100644
--- a/Plan/dependency-reduced-pom.xml
+++ b/Plan/dependency-reduced-pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.djrapitops
Plan
- 4.3.0-SNAPSHOT
+ 4.5.0-SNAPSHOT
${basedir}/src/main/java
${basedir}/src/test/java
diff --git a/Plan/src/main/java/com/djrapitops/plan/Plan.java b/Plan/src/main/java/com/djrapitops/plan/Plan.java
index 61011911d..4f19723da 100644
--- a/Plan/src/main/java/com/djrapitops/plan/Plan.java
+++ b/Plan/src/main/java/com/djrapitops/plan/Plan.java
@@ -90,6 +90,7 @@ class BukkitPlanModule {
@Singleton
@Named("mainCommand")
CommandNode provideMainCommand(PlanCommand command) {
+ command.registerCommands();
return command;
}
}
diff --git a/Plan/src/main/java/com/djrapitops/plan/PlanBungee.java b/Plan/src/main/java/com/djrapitops/plan/PlanBungee.java
index 951f73361..eb8eda73b 100644
--- a/Plan/src/main/java/com/djrapitops/plan/PlanBungee.java
+++ b/Plan/src/main/java/com/djrapitops/plan/PlanBungee.java
@@ -72,6 +72,7 @@ class BungeePlanModule {
@Singleton
@Named("mainCommand")
CommandNode provideMainCommand(PlanBungeeCommand command) {
+ command.registerCommands();
return command;
}
}
diff --git a/Plan/src/main/java/com/djrapitops/plan/PlanSponge.java b/Plan/src/main/java/com/djrapitops/plan/PlanSponge.java
index 78745cf4b..6a5f9bf8a 100644
--- a/Plan/src/main/java/com/djrapitops/plan/PlanSponge.java
+++ b/Plan/src/main/java/com/djrapitops/plan/PlanSponge.java
@@ -80,6 +80,7 @@ class SpongePlanModule {
@Singleton
@Named("mainCommand")
CommandNode provideMainCommand(PlanCommand command) {
+ command.registerCommands();
return command;
}
}
diff --git a/Plan/src/main/java/com/djrapitops/plan/command/PlanBungeeCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/PlanBungeeCommand.java
index 7eb7fe2da..56c3f23e4 100644
--- a/Plan/src/main/java/com/djrapitops/plan/command/PlanBungeeCommand.java
+++ b/Plan/src/main/java/com/djrapitops/plan/command/PlanBungeeCommand.java
@@ -10,6 +10,7 @@ import com.djrapitops.plugin.command.ColorScheme;
import com.djrapitops.plugin.command.CommandNode;
import com.djrapitops.plugin.command.CommandType;
import com.djrapitops.plugin.command.TreeCmdNode;
+import dagger.Lazy;
import javax.inject.Inject;
@@ -23,26 +24,60 @@ import javax.inject.Inject;
*/
public class PlanBungeeCommand extends TreeCmdNode {
+ private final NetworkCommand networkCommand;
+ private final ListServersCommand listServersCommand;
+ private final ListPlayersCommand listPlayersCommand;
+ private final RegisterCommand registerCommand;
+ private final Lazy webUserCommand;
+ private final ManageConDebugCommand conDebugCommand;
+ private final ManageRawDataCommand rawDataCommand;
+ private final BungeeSetupToggleCommand setupToggleCommand;
+ private final ReloadCommand reloadCommand;
+ private final DisableCommand disableCommand;
+
+ private boolean commandsRegistered;
+
@Inject
- public PlanBungeeCommand(ColorScheme colorScheme, Locale locale,
- // Group 1
- NetworkCommand networkCommand,
- ListServersCommand listServersCommand,
- ListPlayersCommand listPlayersCommand,
- // Group 2
- RegisterCommand registerCommand,
- WebUserCommand webUserCommand,
- // Group 3
- ManageConDebugCommand conDebugCommand,
- ManageRawDataCommand rawDataCommand,
- BungeeSetupToggleCommand setupToggleCommand,
- ReloadCommand reloadCommand,
- DisableCommand disableCommand
+ public PlanBungeeCommand(
+ ColorScheme colorScheme,
+ Locale locale,
+ // Group 1
+ NetworkCommand networkCommand,
+ ListServersCommand listServersCommand,
+ ListPlayersCommand listPlayersCommand,
+ // Group 2
+ RegisterCommand registerCommand,
+ Lazy webUserCommand,
+ // Group 3
+ ManageConDebugCommand conDebugCommand,
+ ManageRawDataCommand rawDataCommand,
+ BungeeSetupToggleCommand setupToggleCommand,
+ ReloadCommand reloadCommand,
+ DisableCommand disableCommand
) {
super("planbungee", Permissions.MANAGE.getPermission(), CommandType.CONSOLE, null);
- super.setColorScheme(colorScheme);
+ commandsRegistered = false;
+
+ this.networkCommand = networkCommand;
+ this.listServersCommand = listServersCommand;
+ this.listPlayersCommand = listPlayersCommand;
+ this.registerCommand = registerCommand;
+ this.webUserCommand = webUserCommand;
+ this.conDebugCommand = conDebugCommand;
+ this.rawDataCommand = rawDataCommand;
+ this.setupToggleCommand = setupToggleCommand;
+ this.reloadCommand = reloadCommand;
+ this.disableCommand = disableCommand;
+
+ setColorScheme(colorScheme);
setInDepthHelp(locale.getArray(DeepHelpLang.PLAN));
+ }
+
+ public void registerCommands() {
+ if (commandsRegistered) {
+ return;
+ }
CommandNode[] analyticsGroup = {
networkCommand,
@@ -51,7 +86,7 @@ public class PlanBungeeCommand extends TreeCmdNode {
};
CommandNode[] webGroup = {
registerCommand,
- webUserCommand
+ webUserCommand.get()
};
CommandNode[] manageGroup = {
conDebugCommand,
@@ -61,5 +96,6 @@ public class PlanBungeeCommand extends TreeCmdNode {
disableCommand
};
setNodeGroups(analyticsGroup, webGroup, manageGroup);
+ commandsRegistered = true;
}
}
diff --git a/Plan/src/main/java/com/djrapitops/plan/command/PlanCommand.java b/Plan/src/main/java/com/djrapitops/plan/command/PlanCommand.java
index 38f9feecd..29ce7fb3e 100644
--- a/Plan/src/main/java/com/djrapitops/plan/command/PlanCommand.java
+++ b/Plan/src/main/java/com/djrapitops/plan/command/PlanCommand.java
@@ -9,6 +9,7 @@ import com.djrapitops.plugin.command.ColorScheme;
import com.djrapitops.plugin.command.CommandNode;
import com.djrapitops.plugin.command.CommandType;
import com.djrapitops.plugin.command.TreeCmdNode;
+import dagger.Lazy;
import javax.inject.Inject;
@@ -22,30 +23,73 @@ import javax.inject.Inject;
*/
public class PlanCommand extends TreeCmdNode {
+ private final PlanConfig config;
+ private final InspectCommand inspectCommand;
+ private final QInspectCommand qInspectCommand;
+ private final SearchCommand searchCommand;
+ private final ListPlayersCommand listPlayersCommand;
+ private final AnalyzeCommand analyzeCommand;
+ private final NetworkCommand networkCommand;
+ private final ListServersCommand listServersCommand;
+ private final Lazy webUserCommand;
+ private final RegisterCommand registerCommand;
+ private final InfoCommand infoCommand;
+ private final ReloadCommand reloadCommand;
+ private final Lazy manageCommand;
+ private final DevCommand devCommand;
+
+ private boolean commandsRegistered;
+
@Inject
- public PlanCommand(ColorScheme colorScheme, Locale locale, PlanConfig config,
- // Group 1
- InspectCommand inspectCommand,
- QInspectCommand qInspectCommand,
- SearchCommand searchCommand,
- ListPlayersCommand listPlayersCommand,
- AnalyzeCommand analyzeCommand,
- NetworkCommand networkCommand,
- ListServersCommand listServersCommand,
- // Group 2
- WebUserCommand webUserCommand,
- RegisterCommand registerCommand,
- // Group 3
- InfoCommand infoCommand,
- ReloadCommand reloadCommand,
- ManageCommand manageCommand,
- DevCommand devCommand
+ public PlanCommand(
+ ColorScheme colorScheme,
+ Locale locale,
+ PlanConfig config,
+ // Group 1
+ InspectCommand inspectCommand,
+ QInspectCommand qInspectCommand,
+ SearchCommand searchCommand,
+ ListPlayersCommand listPlayersCommand,
+ AnalyzeCommand analyzeCommand,
+ NetworkCommand networkCommand,
+ ListServersCommand listServersCommand,
+ // Group 2
+ Lazy webUserCommand,
+ RegisterCommand registerCommand,
+ // Group 3
+ InfoCommand infoCommand,
+ ReloadCommand reloadCommand,
+ Lazy manageCommand,
+ DevCommand devCommand
) {
super("plan", "", CommandType.CONSOLE, null);
- super.setDefaultCommand("inspect");
- super.setColorScheme(colorScheme);
+ commandsRegistered = false;
+
+ this.config = config;
+ this.inspectCommand = inspectCommand;
+ this.qInspectCommand = qInspectCommand;
+ this.searchCommand = searchCommand;
+ this.listPlayersCommand = listPlayersCommand;
+ this.analyzeCommand = analyzeCommand;
+ this.networkCommand = networkCommand;
+ this.listServersCommand = listServersCommand;
+ this.webUserCommand = webUserCommand;
+ this.registerCommand = registerCommand;
+ this.infoCommand = infoCommand;
+ this.reloadCommand = reloadCommand;
+ this.manageCommand = manageCommand;
+ this.devCommand = devCommand;
+
+ setDefaultCommand("inspect");
+ setColorScheme(colorScheme);
setInDepthHelp(locale.getArray(DeepHelpLang.PLAN));
+ }
+
+ public void registerCommands() {
+ if (commandsRegistered) {
+ return;
+ }
CommandNode[] analyticsGroup = {
inspectCommand,
@@ -57,15 +101,16 @@ public class PlanCommand extends TreeCmdNode {
listServersCommand
};
CommandNode[] webGroup = {
- webUserCommand,
+ webUserCommand.get(),
registerCommand
};
CommandNode[] manageGroup = {
infoCommand,
reloadCommand,
- manageCommand,
+ manageCommand.get(),
config.isTrue(Settings.DEV_MODE) ? devCommand : null
};
setNodeGroups(analyticsGroup, webGroup, manageGroup);
+ commandsRegistered = true;
}
}
diff --git a/Plan/src/main/java/com/djrapitops/plan/system/info/BungeeInfoSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/info/BungeeInfoSystem.java
index e5135d2c6..c3d72a45e 100644
--- a/Plan/src/main/java/com/djrapitops/plan/system/info/BungeeInfoSystem.java
+++ b/Plan/src/main/java/com/djrapitops/plan/system/info/BungeeInfoSystem.java
@@ -17,6 +17,7 @@ import com.djrapitops.plan.system.webserver.cache.PageId;
import com.djrapitops.plan.system.webserver.cache.ResponseCache;
import com.djrapitops.plan.system.webserver.response.ResponseFactory;
import com.djrapitops.plugin.logging.console.PluginLogger;
+import dagger.Lazy;
import javax.inject.Inject;
import javax.inject.Singleton;
@@ -38,7 +39,7 @@ public class BungeeInfoSystem extends InfoSystem {
ResponseFactory responseFactory,
ConnectionSystem connectionSystem,
ServerInfo serverInfo,
- WebServer webServer,
+ Lazy webServer,
PluginLogger logger
) {
super(infoRequestFactory, connectionSystem, serverInfo, webServer, logger);
diff --git a/Plan/src/main/java/com/djrapitops/plan/system/info/InfoSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/info/InfoSystem.java
index c79aa392b..99e871d6a 100644
--- a/Plan/src/main/java/com/djrapitops/plan/system/info/InfoSystem.java
+++ b/Plan/src/main/java/com/djrapitops/plan/system/info/InfoSystem.java
@@ -4,7 +4,6 @@
*/
package com.djrapitops.plan.system.info;
-import com.djrapitops.plan.api.exceptions.EnableException;
import com.djrapitops.plan.api.exceptions.connection.BadRequestException;
import com.djrapitops.plan.api.exceptions.connection.ConnectionFailException;
import com.djrapitops.plan.api.exceptions.connection.NoServersException;
@@ -20,6 +19,7 @@ import com.djrapitops.plan.system.info.server.ServerInfo;
import com.djrapitops.plan.system.webserver.WebServer;
import com.djrapitops.plugin.api.Check;
import com.djrapitops.plugin.logging.console.PluginLogger;
+import dagger.Lazy;
import java.util.UUID;
@@ -37,14 +37,14 @@ public abstract class InfoSystem implements SubSystem {
protected final InfoRequestFactory infoRequestFactory;
protected final ConnectionSystem connectionSystem;
protected final ServerInfo serverInfo;
- protected final WebServer webServer;
+ protected final Lazy webServer;
protected final PluginLogger logger;
protected InfoSystem(
InfoRequestFactory infoRequestFactory,
ConnectionSystem connectionSystem,
ServerInfo serverInfo,
- WebServer webServer,
+ Lazy webServer,
PluginLogger logger
) {
this.infoRequestFactory = infoRequestFactory;
@@ -125,7 +125,7 @@ public abstract class InfoSystem implements SubSystem {
public abstract void runLocally(InfoRequest infoRequest) throws WebException;
@Override
- public void enable() throws EnableException {
+ public void enable() {
connectionSystem.enable();
}
@@ -160,7 +160,7 @@ public abstract class InfoSystem implements SubSystem {
throw new BadRequestException("Method not available on Bungee.");
}
Server bungee = new Server(-1, null, "Bungee", addressToRequestServer, -1);
- String addressOfThisServer = webServer.getAccessAddress();
+ String addressOfThisServer = webServer.get().getAccessAddress();
connectionSystem.setSetupAllowed(true);
connectionSystem.sendInfoRequest(infoRequestFactory.sendDBSettingsRequest(addressOfThisServer), bungee);
diff --git a/Plan/src/main/java/com/djrapitops/plan/system/info/ServerInfoSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/info/ServerInfoSystem.java
index 802c35757..528104ea1 100644
--- a/Plan/src/main/java/com/djrapitops/plan/system/info/ServerInfoSystem.java
+++ b/Plan/src/main/java/com/djrapitops/plan/system/info/ServerInfoSystem.java
@@ -14,6 +14,7 @@ import com.djrapitops.plan.system.info.server.ServerInfo;
import com.djrapitops.plan.system.webserver.WebServer;
import com.djrapitops.plan.utilities.html.HtmlStructure;
import com.djrapitops.plugin.logging.console.PluginLogger;
+import dagger.Lazy;
import javax.inject.Inject;
import javax.inject.Singleton;
@@ -34,7 +35,7 @@ public class ServerInfoSystem extends InfoSystem {
ConnectionSystem connectionSystem,
ServerInfo serverInfo,
InfoRequestFactory infoRequestFactory,
- WebServer webServer,
+ Lazy webServer,
PluginLogger logger
) {
super(infoRequestFactory, connectionSystem, serverInfo, webServer, logger);
diff --git a/Plan/src/main/java/com/djrapitops/plan/system/info/connection/BungeeConnectionSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/info/connection/BungeeConnectionSystem.java
index c2e07c41c..bf58d66de 100644
--- a/Plan/src/main/java/com/djrapitops/plan/system/info/connection/BungeeConnectionSystem.java
+++ b/Plan/src/main/java/com/djrapitops/plan/system/info/connection/BungeeConnectionSystem.java
@@ -30,7 +30,7 @@ import java.util.UUID;
public class BungeeConnectionSystem extends ConnectionSystem {
private final Database database;
- private final WebServer webServer;
+ private final Lazy webServer;
private final ErrorHandler errorHandler;
private final WebExceptionLogger webExceptionLogger;
@@ -39,7 +39,7 @@ public class BungeeConnectionSystem extends ConnectionSystem {
@Inject
public BungeeConnectionSystem(
Database database,
- WebServer webServer,
+ Lazy webServer,
ConnectionLog connectionLog,
InfoRequests infoRequests,
Lazy infoSystem,
@@ -102,11 +102,12 @@ public class BungeeConnectionSystem extends ConnectionSystem {
@Override
public String getMainAddress() {
- return webServer.getAccessAddress();
+ return webServer.get().getAccessAddress();
}
@Override
public void enable() {
+ super.enable();
refreshServerMap();
}
diff --git a/Plan/src/main/java/com/djrapitops/plan/system/info/connection/ConnectionSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/info/connection/ConnectionSystem.java
index 3bc3ab9b5..d0daa77ae 100644
--- a/Plan/src/main/java/com/djrapitops/plan/system/info/connection/ConnectionSystem.java
+++ b/Plan/src/main/java/com/djrapitops/plan/system/info/connection/ConnectionSystem.java
@@ -9,6 +9,7 @@ import com.djrapitops.plan.api.exceptions.connection.WebException;
import com.djrapitops.plan.system.SubSystem;
import com.djrapitops.plan.system.info.InfoSystem;
import com.djrapitops.plan.system.info.request.InfoRequest;
+import com.djrapitops.plan.system.info.request.InfoRequests;
import com.djrapitops.plan.system.info.request.WideRequest;
import com.djrapitops.plan.system.info.server.Server;
import com.djrapitops.plan.system.info.server.ServerInfo;
@@ -26,7 +27,7 @@ import java.util.*;
public abstract class ConnectionSystem implements SubSystem {
protected final ConnectionLog connectionLog;
- protected final Map dataRequests;
+ protected final InfoRequests infoRequests;
protected final Lazy infoSystem;
protected final ServerInfo serverInfo;
@@ -35,7 +36,7 @@ public abstract class ConnectionSystem implements SubSystem {
public ConnectionSystem(
ConnectionLog connectionLog,
- Map dataRequests,
+ InfoRequests infoRequests,
Lazy infoSystem,
ServerInfo serverInfo
) {
@@ -44,11 +45,11 @@ public abstract class ConnectionSystem implements SubSystem {
this.serverInfo = serverInfo;
setupAllowed = false;
bukkitServers = new HashMap<>();
- this.dataRequests = dataRequests;
+ this.infoRequests = infoRequests;
}
public InfoRequest getInfoRequest(String name) {
- return dataRequests.get(name.toLowerCase());
+ return infoRequests.get(name.toLowerCase());
}
public void setSetupAllowed(boolean setupAllowed) {
@@ -89,10 +90,15 @@ public abstract class ConnectionSystem implements SubSystem {
return new ArrayList<>(bukkitServers.values());
}
+ @Override
+ public void enable() {
+ infoRequests.initializeRequests();
+ }
+
@Override
public void disable() {
setupAllowed = false;
bukkitServers.clear();
- dataRequests.clear();
+ infoRequests.clear();
}
}
diff --git a/Plan/src/main/java/com/djrapitops/plan/system/info/connection/ServerConnectionSystem.java b/Plan/src/main/java/com/djrapitops/plan/system/info/connection/ServerConnectionSystem.java
index 211ae1b7f..a8eeded62 100644
--- a/Plan/src/main/java/com/djrapitops/plan/system/info/connection/ServerConnectionSystem.java
+++ b/Plan/src/main/java/com/djrapitops/plan/system/info/connection/ServerConnectionSystem.java
@@ -39,7 +39,7 @@ public class ServerConnectionSystem extends ConnectionSystem {
private final PlanConfig config;
private final Processing processing;
private final Database database;
- private final WebServer webServer;
+ private final Lazy webServer;
private final PluginLogger pluginLogger;
private final WebExceptionLogger webExceptionLogger;
@@ -53,7 +53,7 @@ public class ServerConnectionSystem extends ConnectionSystem {
PlanConfig config,
Processing processing,
Database database,
- WebServer webServer,
+ Lazy webServer,
ConnectionLog connectionLog,
InfoRequests infoRequests,
Lazy infoSystem,
@@ -134,6 +134,7 @@ public class ServerConnectionSystem extends ConnectionSystem {
@Override
public void enable() {
+ super.enable();
refreshServerMap();
boolean usingBungeeWebServer = isServerAvailable();
@@ -143,7 +144,7 @@ public class ServerConnectionSystem extends ConnectionSystem {
pluginLogger.log(L.INFO_COLOR, "§e" + locale.getString(PluginLang.ENABLE_NOTIFY_EMPTY_IP));
}
if (usingBungeeWebServer && usingAlternativeIP) {
- String webServerAddress = webServer.getAccessAddress();
+ String webServerAddress = webServer.get().getAccessAddress();
pluginLogger.info(locale.getString(PluginLang.ENABLE_NOTIFY_ADDRESS_CONFIRMATION, webServerAddress));
}
}
diff --git a/Plan/src/main/java/com/djrapitops/plan/system/info/request/InfoRequests.java b/Plan/src/main/java/com/djrapitops/plan/system/info/request/InfoRequests.java
index d008bd952..5556249e1 100644
--- a/Plan/src/main/java/com/djrapitops/plan/system/info/request/InfoRequests.java
+++ b/Plan/src/main/java/com/djrapitops/plan/system/info/request/InfoRequests.java
@@ -14,8 +14,14 @@ import java.util.HashMap;
@Singleton
public class InfoRequests extends HashMap {
+ private final InfoRequestHandlerFactory handlers;
+
@Inject
public InfoRequests(InfoRequestHandlerFactory handlers) {
+ this.handlers = handlers;
+ }
+
+ public void initializeRequests() {
putRequest(handlers.cacheAnalysisPageRequest());
putRequest(handlers.cacheInspectPageRequest());
putRequest(handlers.cacheInspectPluginsTabRequest());
diff --git a/Plan/src/main/java/com/djrapitops/plan/system/webserver/ResponseHandler.java b/Plan/src/main/java/com/djrapitops/plan/system/webserver/ResponseHandler.java
index 2adf93d3b..3504b4315 100644
--- a/Plan/src/main/java/com/djrapitops/plan/system/webserver/ResponseHandler.java
+++ b/Plan/src/main/java/com/djrapitops/plan/system/webserver/ResponseHandler.java
@@ -18,6 +18,7 @@ import com.djrapitops.plan.system.webserver.response.ResponseFactory;
import com.djrapitops.plan.system.webserver.response.errors.*;
import com.djrapitops.plugin.logging.L;
import com.djrapitops.plugin.logging.error.ErrorHandler;
+import dagger.Lazy;
import javax.inject.Inject;
import javax.inject.Singleton;
@@ -36,13 +37,19 @@ public class ResponseHandler extends TreePageHandler {
private final ResponseFactory responseFactory;
+ private final DebugPageHandler debugPageHandler;
+ private final PlayersPageHandler playersPageHandler;
+ private final PlayerPageHandler playerPageHandler;
+ private final ServerPageHandler serverPageHandler;
+ private final InfoRequestPageHandler infoRequestPageHandler;
private final ErrorHandler errorHandler;
- private WebServer webServer;
+ private Lazy webServer;
@Inject
public ResponseHandler(
ResponseFactory responseFactory,
+ Lazy webServer,
DebugPageHandler debugPageHandler,
PlayersPageHandler playersPageHandler,
@@ -52,9 +59,17 @@ public class ResponseHandler extends TreePageHandler {
ErrorHandler errorHandler
) {
+ this.webServer = webServer;
this.responseFactory = responseFactory;
+ this.debugPageHandler = debugPageHandler;
+ this.playersPageHandler = playersPageHandler;
+ this.playerPageHandler = playerPageHandler;
+ this.serverPageHandler = serverPageHandler;
+ this.infoRequestPageHandler = infoRequestPageHandler;
this.errorHandler = errorHandler;
+ }
+ public void registerPages() {
registerPage("favicon.ico", responseFactory.redirectResponse("https://puu.sh/tK0KL/6aa2ba141b.ico"), 5);
registerPage("debug", debugPageHandler);
registerPage("players", playersPageHandler);
@@ -63,7 +78,7 @@ public class ResponseHandler extends TreePageHandler {
registerPage("network", serverPageHandler);
registerPage("server", serverPageHandler);
- if (webServer.isAuthRequired()) {
+ if (webServer.get().isAuthRequired()) {
registerPage("", new RootPageHandler());
} else {
registerPage("", responseFactory.redirectResponse("/server"), 5);
@@ -114,11 +129,11 @@ public class ResponseHandler extends TreePageHandler {
return ResponseCache.loadResponse(PageId.JS.of(targetString), () -> responseFactory.javaScriptResponse(targetString));
}
boolean isNotInfoRequest = target.isEmpty() || !target.get(0).equals("info");
- boolean isAuthRequired = webServer.isAuthRequired() && isNotInfoRequest;
+ boolean isAuthRequired = webServer.get().isAuthRequired() && isNotInfoRequest;
if (isAuthRequired) {
authentication = request.getAuth();
if (!authentication.isPresent()) {
- if (webServer.isUsingHTTPS()) {
+ if (webServer.get().isUsingHTTPS()) {
return DefaultResponses.BASIC_AUTH.get();
} else {
return DefaultResponses.FORBIDDEN.get();
@@ -136,8 +151,4 @@ public class ResponseHandler extends TreePageHandler {
return DefaultResponses.FORBIDDEN.get();
}
}
-
- public void setWebServer(WebServer webServer) {
- this.webServer = webServer;
- }
}
diff --git a/Plan/src/main/java/com/djrapitops/plan/system/webserver/WebServer.java b/Plan/src/main/java/com/djrapitops/plan/system/webserver/WebServer.java
index d192d807c..35e857d62 100644
--- a/Plan/src/main/java/com/djrapitops/plan/system/webserver/WebServer.java
+++ b/Plan/src/main/java/com/djrapitops/plan/system/webserver/WebServer.java
@@ -68,7 +68,6 @@ public class WebServer implements SubSystem {
this.config = config;
this.requestHandler = requestHandler;
- requestHandler.getResponseHandler().setWebServer(this);
this.logger = logger;
this.errorHandler = errorHandler;
@@ -90,6 +89,8 @@ public class WebServer implements SubSystem {
logger.error(locale.getString(PluginLang.WEB_SERVER_FAIL_PORT_BIND, port));
}
}
+
+ requestHandler.getResponseHandler().registerPages();
}
/**