public static void Main(string[] args) { AppDomain.CurrentDomain.ProcessExit += CurrentDomain_ProcessExit; Portable.Initialise(); if (!Portable.IsProcessIsolationEnabled()) { Console.WriteLine("Worker is disabled in portable.ini"); Console.WriteLine("Press 'Enter' to exit"); Console.Read(); return; } int port = 8037; // Default Port; string token; if (args.Length != 0) { foreach (string argument in args) { if (argument.StartsWith("--port")) { string value = argument.TrimStart("--port=".ToCharArray()); if (int.TryParse(value, out var parsedPort)) { port = parsedPort; } } if (argument.StartsWith("--token")) { token = argument.TrimStart("--token=".ToCharArray()); TokenService.RegisterToken(token); } } } Console.WriteLine("Worker: Starting HandBrake Engine ..."); router = new ApiRouter(); router.TerminationEvent += Router_TerminationEvent; Console.WriteLine("Worker: Starting Web Server on port {0} ...", port); Dictionary <string, Func <HttpListenerRequest, string> > apiHandlers = RegisterApiHandlers(); HttpServer webServer = new HttpServer(apiHandlers, port, TokenService); if (webServer.Run()) { Console.WriteLine("Worker: Server Started"); manualResetEvent.WaitOne(); webServer.Stop(); } else { Console.WriteLine("Worker: Failed to start. Exiting ..."); } }
public static void Main(string[] args) { AppDomain.CurrentDomain.ProcessExit += CurrentDomain_ProcessExit; Portable.Initialise(); if (!Portable.IsProcessIsolationEnabled()) { Console.WriteLine("Worker is disabled in portable.ini"); Console.WriteLine("Press 'Enter' to exit"); Console.Read(); return; } int port = 8037; // Default Port; string token; if (args.Length != 0) { foreach (string argument in args) { if (argument.StartsWith("--port")) { string value = argument.TrimStart("--port=".ToCharArray()); if (int.TryParse(value, out var parsedPort)) { port = parsedPort; } } if (argument.StartsWith("--token")) { token = argument.TrimStart("--token=".ToCharArray()); TokenService.RegisterToken(token); } } } if (!TokenService.IsTokenSet()) { ConsoleOutput.WriteLine("# HandBrake Worker", ConsoleColor.DarkYellow); ConsoleOutput.WriteLine("*** Please note, this application should not be run standalone. To run the GUI, please use 'HandBrake.exe' *** ", ConsoleColor.Red); Console.WriteLine(); } ConsoleOutput.WriteLine("Worker: Starting HandBrake Engine ...", ConsoleColor.White, true); router = new ApiRouter(); router.TerminationEvent += Router_TerminationEvent; ConsoleOutput.WriteLine(string.Format("Worker: Starting Web Server on port {0} ...", port), ConsoleColor.White, true); Dictionary <string, Func <HttpListenerRequest, string> > apiHandlers = RegisterApiHandlers(); HttpServer webServer = new HttpServer(apiHandlers, port, TokenService); if (webServer.Run().Result) { ConsoleOutput.WriteLine("Worker: Server Started", ConsoleColor.White, true); manualResetEvent.WaitOne(); webServer.Stop(); } else { ConsoleOutput.WriteLine("Worker is exiting ..."); } }