!7 cmodule ImagerSite extends DynPrintLogAndEnabled { switchable int httpPort = 80; switchable int httpsPort = 443; transient autoDispose MyHTTPD server; transient autoDispose MyHTTPD secureServer; start { if (!enabled) ret; server = new MyHTTPD(httpPort); server.enter = lambda0 enter; server.serveFunction = func(S uri, SS parms) { serve(uri, parms) }; server.start(); print("HTTP server started on port " + server.getPort()); if (httpsPort == 0) ret; secureServer = new MyHTTPD(httpsPort); secureServer.makeSecure(serveHttps_makeSSLSocketFactory(javaxSecretDir("imager.site.keystore.pkcs12"), "botcompany")); secureServer.serveFunction = func(S uri, SS parms) { serve(uri, parms) }; secureServer.start(); print("HTTPS server started on port " + secureServer.getPort()); } O serve(S uri, SS params) enter { ret hhtml(hhead_title("imager.site - the imaging chat bot") + hbody(hWebChatBot(#1026248))); } }