Hallo zusammen,
im Rahmen meiner Backend-Implementierung und der Anpassung auf "Server-Sent Events" (kurz SSE, https://en.wikipedia.org/wiki/Server-sent_events), bin ich auf ein Problem gestoßen, welches ich mit meinem begrenzen JS Wissen nicht lösen kann....
comet-visu-openhab.js kann ja schon SSE in den Grundzügen. ABER das ist fest gemünzt auf das UrlPrefix von OH.
Deshalb habe ich versucht das zu verallgemeinern:
Das funktioniert auch erstmal (sofern man in templateengine.js entsprechend den Konstruktor mit einem UrlPrefix füttert), aber ganz unten an Ende der File steht noch:
Hier hab ich kein Plan wie ich das dynamisch, basierend auf dem UrlPrefix-Wert aus dem Konstruktor von comet-visu-openhab.js gestalte.
[etwas offtopic]
Ich hab schon peuter angeschrieben und gefragt wie es mit dem Umbau/Ausbau von comet-visu-openhab.js in einen allgemeinen, SSE-tauglichen Client aussieht (OH-spezifisches steckt da eigentlich nicht drin). Warte noch auf Antwort.
Im worst-case schraube ich eine eigene, SSE-allgemeine Client-Implementierung (basierend auf comet-visu-openhab.js) zusammen. Aber auch da hab ich dann das Problem mit dem dynamischen UrlPrefix. Und eigentlich würde ich Code-Duplizierung vermeiden wollen.
[/etwas offtopic]
Hat hier jemand einen Vorschlag und kann mir weiter helfen?
Gruß
Alex
im Rahmen meiner Backend-Implementierung und der Anpassung auf "Server-Sent Events" (kurz SSE, https://en.wikipedia.org/wiki/Server-sent_events), bin ich auf ein Problem gestoßen, welches ich mit meinem begrenzen JS Wissen nicht lösen kann....
comet-visu-openhab.js kann ja schon SSE in den Grundzügen. ABER das ist fest gemünzt auf das UrlPrefix von OH.
Code:
function CometVisuOh(urlPrefix) { var thisVisu = this; this.urlPrefix = "/rest/cv/"; this.eventSource = null; // the EventSource
Code:
function CometVisuOh(urlPrefix) { var thisVisu = this; this.urlPrefix = urlPrefix; this.eventSource = null; // the EventSource
Code:
}; CometVisuOh.prototype = new CometVisu('/rest/cv/'); CometVisuOh.prototype.constructor = CometVisuOh; CometVisuOh.prototype.update = function(json) { }; return CometVisuOh; });
[etwas offtopic]
Ich hab schon peuter angeschrieben und gefragt wie es mit dem Umbau/Ausbau von comet-visu-openhab.js in einen allgemeinen, SSE-tauglichen Client aussieht (OH-spezifisches steckt da eigentlich nicht drin). Warte noch auf Antwort.
Im worst-case schraube ich eine eigene, SSE-allgemeine Client-Implementierung (basierend auf comet-visu-openhab.js) zusammen. Aber auch da hab ich dann das Problem mit dem dynamischen UrlPrefix. Und eigentlich würde ich Code-Duplizierung vermeiden wollen.
[/etwas offtopic]
Hat hier jemand einen Vorschlag und kann mir weiter helfen?
Gruß
Alex
Kommentar