Fixed issue where external pages are not set
This commit is contained in:
parent
378d00b83e
commit
2d1e6f8f50
3 changed files with 14 additions and 9 deletions
|
|
@ -67,6 +67,9 @@ public class HalServer {
|
|||
|
||||
logger.info("Working directory: " + FileUtil.find(".").getAbsolutePath());
|
||||
|
||||
httpExternal = new HalExternalWebDaemon();
|
||||
registerDaemon(httpExternal);
|
||||
|
||||
// ------------------------------------
|
||||
// Initialize Plugins
|
||||
// ------------------------------------
|
||||
|
|
@ -107,9 +110,6 @@ public class HalServer {
|
|||
for (Iterator<HalDaemon> it = pluginManager.getSingletonIterator(HalDaemon.class); it.hasNext(); ) {
|
||||
HalDaemon daemon = it.next();
|
||||
registerDaemon(daemon);
|
||||
|
||||
if (daemon instanceof HalExternalWebDaemon) // Keep a reference of the external web server
|
||||
httpExternal = (HalExternalWebDaemon) daemon;
|
||||
}
|
||||
|
||||
// ------------------------------------
|
||||
|
|
@ -198,7 +198,7 @@ public class HalServer {
|
|||
|
||||
/**
|
||||
* Registers the given page with the external Hal web server.
|
||||
* Note: as this page will most likely be accessible trough the internet it needs to be robust and secure.
|
||||
* Note: as this page will most likely be accessible through the internet it needs to be robust and secure.
|
||||
*
|
||||
* @param url is the web path to the page.
|
||||
* @param page is the page to register with the server.
|
||||
|
|
@ -210,7 +210,7 @@ public class HalServer {
|
|||
|
||||
/**
|
||||
* Registers the given page with the external Hal web server.
|
||||
* Note: as this page will most likely be accessible trough the internet it needs to be robust and secure.
|
||||
* Note: as this page will most likely be accessible through the internet it needs to be robust and secure.
|
||||
*
|
||||
* @param page is the page to register with the server.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import zutil.net.http.HttpServer;
|
|||
import java.io.IOException;
|
||||
import java.security.GeneralSecurityException;
|
||||
import java.security.cert.X509Certificate;
|
||||
import java.util.HashMap;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
|
|
@ -24,10 +25,12 @@ import static se.hal.HalContext.CONFIG_HTTP_EXTERNAL_PORT;
|
|||
public class HalExternalWebDaemon implements HalDaemon {
|
||||
private static final Logger logger = LogUtil.getLogger();
|
||||
|
||||
private HalAcmeDataStore acmeDataStore = new HalAcmeDataStore();
|
||||
private HttpServer httpExternal;
|
||||
private String externalServerUrl;
|
||||
private HalAcmeDataStore acmeDataStore = new HalAcmeDataStore();
|
||||
private X509Certificate certificate;
|
||||
private HashMap<String, HttpPage> pageMap = new HashMap<>();
|
||||
|
||||
|
||||
@Override
|
||||
public void initiate(ScheduledExecutorService executor) {
|
||||
|
|
@ -83,6 +86,10 @@ public class HalExternalWebDaemon implements HalDaemon {
|
|||
|
||||
private void startHttpServer() throws GeneralSecurityException, IOException {
|
||||
httpExternal = new HttpServer(HalContext.getIntegerProperty(CONFIG_HTTP_EXTERNAL_PORT), acmeDataStore.getDomainKeyPair().getPrivate(), certificate);
|
||||
|
||||
for (String url : pageMap.keySet()) {
|
||||
httpExternal.setPage(url, pageMap.get(url));
|
||||
}
|
||||
httpExternal.start();
|
||||
|
||||
logger.info("External https server up and running at: " + externalServerUrl);
|
||||
|
|
@ -90,7 +97,6 @@ public class HalExternalWebDaemon implements HalDaemon {
|
|||
|
||||
|
||||
public void setPage(String url, HttpPage page) {
|
||||
if (httpExternal != null)
|
||||
httpExternal.setPage(url, page);
|
||||
pageMap.put(url, page);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
{"se.hal.intf.HalAbstractControllerManager": "se.hal.EventControllerManager"},
|
||||
{"se.hal.intf.HalAbstractControllerManager": "se.hal.SensorControllerManager"},
|
||||
|
||||
{"se.hal.intf.HalDaemon": "se.hal.daemon.HalExternalWebDaemon"},
|
||||
{"se.hal.intf.HalDaemon": "se.hal.daemon.HalMulticastDnsDaemon"},
|
||||
{"se.hal.intf.HalDaemon": "se.hal.daemon.SensorDataAggregatorDaemon"},
|
||||
{"se.hal.intf.HalDaemon": "se.hal.daemon.SensorDataCleanupDaemon"},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue