static void Initialize() { Console.WriteLine(""); Console.Write("Initializing Komodo daemon: "); _Komodo = new KomodoDaemon(); Console.WriteLine("[success]"); Console.WriteLine(""); }
private static void InitializeGlobals() { ConsoleColor prior = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.DarkGray; Console.Write("| Initializing logging : "); _Logging = new LoggingModule( _Settings.Logging.SyslogServerIp, _Settings.Logging.SyslogServerPort, _Settings.Logging.ConsoleLogging); if (_Settings.Logging.FileLogging && !String.IsNullOrEmpty(_Settings.Logging.Filename)) { if (String.IsNullOrEmpty(_Settings.Logging.FileDirectory)) { _Settings.Logging.FileDirectory = "./"; } if (_Settings.Logging.FileDirectory.Contains("\\")) { _Settings.Logging.FileDirectory = _Settings.Logging.FileDirectory.Replace("\\", "/"); } if (!Directory.Exists(_Settings.Logging.FileDirectory)) { Directory.CreateDirectory(_Settings.Logging.FileDirectory); } _Logging.Settings.FileLogging = FileLoggingMode.FileWithDate; _Logging.Settings.LogFilename = _Settings.Logging.FileDirectory + _Settings.Logging.Filename; } Console.WriteLine("[success]"); Console.Write("| Initializing Komodo daemon : "); _DaemonSettings = _Settings.ToDaemonSettings(); _Daemon = new KomodoDaemon(_DaemonSettings); Console.WriteLine("[success]"); Console.Write("| Initializing database : "); _ORM = new WatsonORM(_Settings.Database.ToDatabaseSettings()); _ORM.InitializeDatabase(); _ORM.InitializeTable(typeof(ApiKey)); _ORM.InitializeTable(typeof(Index)); _ORM.InitializeTable(typeof(Metadata)); _ORM.InitializeTable(typeof(MetadataDocument)); _ORM.InitializeTable(typeof(Node)); _ORM.InitializeTable(typeof(ParsedDocument)); _ORM.InitializeTable(typeof(Permission)); _ORM.InitializeTable(typeof(SourceDocument)); _ORM.InitializeTable(typeof(TermDoc)); _ORM.InitializeTable(typeof(TermGuid)); _ORM.InitializeTable(typeof(User)); Console.WriteLine("[success]"); Console.Write("| Initializing authentication : "); _Auth = new AuthManager(_ORM); Console.WriteLine("[success]"); Console.Write("| Initializing webserver : "); _Webserver = new WatsonWebserver.Server( _Settings.Server.ListenerHostname, _Settings.Server.ListenerPort, _Settings.Server.Ssl, RequestReceived); _Webserver.Routes.Content.Add("/Assets/", true); _Webserver.Settings.AccessControl.Mode = AccessControlMode.DefaultPermit; _Webserver.Start(); Console.WriteLine( "[success] " + (_Settings.Server.Ssl ? "https://" : "http://") + _Settings.Server.ListenerHostname + ":" + _Settings.Server.ListenerPort); if (_Settings.Server.ListenerHostname.Equals("localhost") || _Settings.Server.ListenerHostname.Equals("127.0.0.1")) { // 1 2 3 4 5 6 7 8 // 12345678901234567890123456789012345678901234567890123456789012345678901234567890 Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine(""); Console.WriteLine("WARNING: Komodo started on '" + _Settings.Server.ListenerHostname + "'"); Console.ForegroundColor = ConsoleColor.DarkYellow; Console.WriteLine("Komodo can only service requests from the local machine. If you wish to serve"); Console.WriteLine("external requests, edit the system.json file and specify a DNS-resolvable"); Console.WriteLine("hostname in the Server.ListenerHostname field."); Console.WriteLine(""); } List <string> adminListeners = new List <string> { "*", "+", "0.0.0.0" }; if (adminListeners.Contains(_Settings.Server.ListenerHostname)) { // 1 2 3 4 5 6 7 8 // 12345678901234567890123456789012345678901234567890123456789012345678901234567890 Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine(""); Console.WriteLine("NOTICE: Komodo is listening on a wildcard hostname: '" + _Settings.Server.ListenerHostname + "'"); Console.ForegroundColor = ConsoleColor.DarkCyan; Console.WriteLine("Komodo must be run with administrative privileges, otherwise it will not be able"); Console.WriteLine("to respond to incoming requests."); Console.WriteLine(""); } Console.ForegroundColor = ConsoleColor.DarkGray; if (_Settings.EnableConsole) { _Console = new ConsoleManager(_Settings, ExitApplication); } Console.ForegroundColor = prior; Console.WriteLine(""); }