From ea9ace592804b8104ab2c5728d682c089c179247 Mon Sep 17 00:00:00 2001 From: Harald Wolff Date: Mon, 13 Jan 2020 08:57:22 +0100 Subject: [PATCH] WIP --- Program.cs | 30 ++++++++++++++++++++----- ln.provider.csproj | 29 +++++++++++++++++++----- ln.provider.sln | 6 +++++ www/{ => css}/page.layout.css | 0 www/{ => css}/style.css | 0 www/{ => css}/tables.layout.css | 0 www/index.html | 40 +++++++++++++++++++-------------- 7 files changed, 76 insertions(+), 29 deletions(-) rename www/{ => css}/page.layout.css (100%) rename www/{ => css}/style.css (100%) rename www/{ => css}/tables.layout.css (100%) diff --git a/Program.cs b/Program.cs index cf0f2c1..e184645 100644 --- a/Program.cs +++ b/Program.cs @@ -9,6 +9,8 @@ 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 { @@ -27,15 +29,28 @@ namespace ln.provider public static void Main(string[] args) { - SimpleHttpRouter restRouter = new SimpleHttpRouter(); - restRouter.AddSimpleRoute("/:arg1/:arg2", new RouterTarget(LogRequest)); + //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"); - SimpleHttpRouter simpleHttpRouter = new SimpleHttpRouter(); - simpleHttpRouter.AddSimpleRoute("/*", new RouterTarget(LogRequest)); - simpleHttpRouter.AddSimpleRoute("/api/v1/*", restRouter); + 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),simpleHttpRouter); + HTTPServer hTTPServer = new HTTPServer(new Endpoint(IPv6.ANY,8888),new LoggingRouter(simpleHttpRouter)); hTTPServer.Start(); //new ProviderApplication().Start(args); @@ -46,6 +61,9 @@ namespace ln.provider 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(); diff --git a/ln.provider.csproj b/ln.provider.csproj index 4b7354b..1ee7416 100644 --- a/ln.provider.csproj +++ b/ln.provider.csproj @@ -78,20 +78,37 @@ {D4E4FD39-6C21-4FCC-8DE0-6494FBE82CEA} ln.manage + + {90B8D805-E60A-4986-ADAA-1753BE248EB1} + ln.manage.http + + PreserveNewest - - - - - - + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + \ No newline at end of file diff --git a/ln.provider.sln b/ln.provider.sln index c21095c..4e8cf41 100644 --- a/ln.provider.sln +++ b/ln.provider.sln @@ -25,6 +25,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ln.provider.netwatch", "..\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ln.manage", "..\ln.manage\ln.manage.csproj", "{D4E4FD39-6C21-4FCC-8DE0-6494FBE82CEA}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ln.manage.http", "..\ln.manage.http\ln.manage.http.csproj", "{90B8D805-E60A-4986-ADAA-1753BE248EB1}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x86 = Debug|x86 @@ -79,5 +81,9 @@ Global {D4E4FD39-6C21-4FCC-8DE0-6494FBE82CEA}.Debug|x86.Build.0 = Debug|Any CPU {D4E4FD39-6C21-4FCC-8DE0-6494FBE82CEA}.Release|x86.ActiveCfg = Release|Any CPU {D4E4FD39-6C21-4FCC-8DE0-6494FBE82CEA}.Release|x86.Build.0 = Release|Any CPU + {90B8D805-E60A-4986-ADAA-1753BE248EB1}.Debug|x86.ActiveCfg = Debug|Any CPU + {90B8D805-E60A-4986-ADAA-1753BE248EB1}.Debug|x86.Build.0 = Debug|Any CPU + {90B8D805-E60A-4986-ADAA-1753BE248EB1}.Release|x86.ActiveCfg = Release|Any CPU + {90B8D805-E60A-4986-ADAA-1753BE248EB1}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/www/page.layout.css b/www/css/page.layout.css similarity index 100% rename from www/page.layout.css rename to www/css/page.layout.css diff --git a/www/style.css b/www/css/style.css similarity index 100% rename from www/style.css rename to www/css/style.css diff --git a/www/tables.layout.css b/www/css/tables.layout.css similarity index 100% rename from www/tables.layout.css rename to www/css/tables.layout.css diff --git a/www/index.html b/www/index.html index da19b01..fe60899 100644 --- a/www/index.html +++ b/www/index.html @@ -4,19 +4,14 @@ ln.provider Web Interface - - - - + + + + - - - - - - +
@@ -27,12 +22,17 @@ - - +
+
+ {{ component.label }} +
+
+
- +