using System; using ln.types.odb.ng; using ln.provider.data.phone; using ln.provider.data; using ln.logging; using ln.provider.netwatch.entities; using ln.manage; using System.Threading; using ln.types.threads; using ln.types.net; using ln.http; using ln.http.router; using ln.manage.http; namespace ln.provider { class MainClass { public static HttpResponse LogRequest(HttpRequest request) { Logging.Log(LogLevel.INFO, "Request: {0}",request); foreach (String pName in request.ParameterNames) { Logging.Log(LogLevel.INFO, "Request Parameter: {0} = {1}", pName, request.GetParameter(pName)); } return new HttpResponse(request); } public static void Main(string[] args) { //StaticRouter staticRouter = new StaticRouter("www"); StaticRouter staticRouter = new StaticRouter("../../www"); StaticRouter manageRouter = new StaticRouter("../../../ln.manage/www"); StaticRouter vueRouter = new StaticRouter("/home/haraldwolff/src/www/ln.vue"); SimpleRouter simpleHttpRouter = new SimpleRouter(); simpleHttpRouter.AddSimpleRoute("/*", staticRouter); simpleHttpRouter.AddSimpleRoute("/*", vueRouter, 10); simpleHttpRouter.AddSimpleRoute("/*", manageRouter, 9); simpleHttpRouter.AddSimpleRoute("/*", new RouterTarget((request) => { return staticRouter.Route("/", request); //HttpResponse response = new HttpResponse(request); //response.StatusCode = 404; //response.SetHeader("content-type", "text/plain"); //response.ContentWriter.WriteLine("404 Not Found"); //response.ContentWriter.Flush(); //return response; }), -1); HTTPServer hTTPServer = new HTTPServer(new Endpoint(IPv6.ANY,8888),new LoggingRouter(simpleHttpRouter)); hTTPServer.Start(); //new ProviderApplication().Start(args); ManagedRoot managedRoot = new ManagedRoot(); ManagedConsole managedConsole = new ManagedConsole(managedRoot); ManagedNativeContainer layer2segments = new ManagedNativeContainer(managedRoot); ManagedNativeContainer networkDevices = new ManagedNativeContainer(managedRoot); ContainerRouter restRouter = new ContainerRouter(managedRoot); simpleHttpRouter.AddSimpleRoute("/api/v1/*", restRouter); IManagedObject nd0 = networkDevices.CreateManagedObject(); nd0.Enabled = true; IManagedObject nd1 = networkDevices.CreateManagedObject(); nd1.SetValue("IPAddresses", new IPv6[] { IPv6.Parse("10.118.254.1"), IPv6.Parse("10.118.2.1") }); nd1.Enabled = true; IManagedObject nd2 = networkDevices.CreateManagedObject(); nd2.Enabled = true; Thread.Sleep(5000); nd1.Enabled = false; Thread.Sleep(5000); Console.WriteLine(managedConsole.Export()); Thread.Sleep(5000); nd0.Enabled = false; nd1.Enabled = false; nd2.Enabled = false; } } }