diff --git a/Bot-Utils/Properties/AssemblyInfo.cs b/Bot-Utils/Properties/AssemblyInfo.cs index d654fdf..d327a5f 100644 --- a/Bot-Utils/Properties/AssemblyInfo.cs +++ b/Bot-Utils/Properties/AssemblyInfo.cs @@ -10,7 +10,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("BlubbFish")] [assembly: AssemblyProduct("Bot-Utils")] -[assembly: AssemblyCopyright("Copyright © 2018 - 03.04.2019")] +[assembly: AssemblyCopyright("Copyright © 2018 - 14.04.2019")] [assembly: AssemblyTrademark("© BlubbFish")] [assembly: AssemblyCulture("")] @@ -32,8 +32,8 @@ using System.Runtime.InteropServices; // Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, // indem Sie "*" wie unten gezeigt eingeben: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.1.6")] -[assembly: AssemblyFileVersion("1.1.6")] +[assembly: AssemblyVersion("1.1.7")] +[assembly: AssemblyFileVersion("1.1.7")] /* * 1.1.0 Remove Helper from Bot-Utils @@ -44,4 +44,5 @@ using System.Runtime.InteropServices; * 1.1.5 add a function to send an object as json directly * 1.1.6 rename functions and make SendFileResponse with a parameter for the folder (default resources), * also put returntype boolean, add function that parse post params, if path is a dictionary try to load index.html + * 1.1.7 Restrucutre loading, so that all is init and after the listener is started, REQUEST_URL_HOST gives now host and port */ diff --git a/Bot-Utils/Webserver.cs b/Bot-Utils/Webserver.cs index eccf400..15c406f 100644 --- a/Bot-Utils/Webserver.cs +++ b/Bot-Utils/Webserver.cs @@ -15,18 +15,23 @@ namespace BlubbFish.Utils.IoT.Bots { protected Dictionary config; protected static InIReader requests; protected HttpListener httplistener; + protected ABackend databackend; public Webserver(ABackend backend, Dictionary settings, InIReader requestslookup) { this.config = settings; requests = requestslookup; - backend.MessageIncomming += this.Backend_MessageIncomming; + this.databackend = backend; + } + + protected void StartListen() { + this.databackend.MessageIncomming += this.Backend_MessageIncomming; this.httplistener = new HttpListener(); this.httplistener.Prefixes.Add(this.config["prefix"]); this.httplistener.Start(); ThreadPool.QueueUserWorkItem((o) => { Console.WriteLine("Webserver is Running..."); try { - while (this.httplistener.IsListening) { + while(this.httplistener.IsListening) { ThreadPool.QueueUserWorkItem((state) => { HttpListenerContext httplistenercontext = state as HttpListenerContext; try { @@ -74,7 +79,7 @@ namespace BlubbFish.Utils.IoT.Bots { file = file.Replace("\"{%" + item.Key.ToUpper() + "%}\"", item.Value); } } - file = file.Replace("{%REQUEST_URL_HOST%}", cont.Request.Url.Host); + file = file.Replace("{%REQUEST_URL_HOST%}", cont.Request.Url.Host+":"+cont.Request.Url.Port); Byte[] buf = Encoding.UTF8.GetBytes(file); cont.Response.ContentLength64 = buf.Length; switch(end) {