Skip to content

Commit cfc818f

Browse files
committed
fix wsurl
1 parent 32986ce commit cfc818f

7 files changed

Lines changed: 46 additions & 33 deletions

File tree

OpenFlow/src/Config.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,20 @@ export class Config {
217217
} else { result = result + "/"; }
218218
return result;
219219
}
220+
public static basewsurl(): string {
221+
let result: string = "";
222+
if (Config.tls_crt != '' && Config.tls_key != '') {
223+
result = "wss://" + Config.domain;
224+
} else if (Config.protocol == "http") {
225+
result = "ws://" + Config.domain;
226+
} else {
227+
result = "wss://" + Config.domain;
228+
}
229+
if (Config.port != 80 && Config.port != 443) {
230+
result = result + ":" + Config.port + "/";
231+
} else { result = result + "/"; }
232+
return result;
233+
}
220234
public static getEnv(name: string, defaultvalue: string): string {
221235
let value: any = process.env[name];
222236
if (!value || value === "") { value = defaultvalue; }

OpenFlow/src/LoginProvider.ts

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -219,17 +219,9 @@ export class LoginProvider {
219219
}
220220
});
221221
app.get("/config", (req: any, res: any, next: any): void => {
222-
let _url: string = "";
223-
if (url.parse(baseurl).protocol == "http:") {
224-
_url = "ws://" + url.parse(baseurl).host;
225-
} else {
226-
_url = "wss://" + url.parse(baseurl).host;
227-
}
228-
_url += "/";
229-
if (!NoderedUtil.IsNullEmpty(Config.api_ws_url)) {
230-
_url = Config.api_ws_url;
231-
if (!_url.endsWith("/")) _url += "/";
232-
}
222+
let _url = Config.basewsurl();
223+
if (!NoderedUtil.IsNullEmpty(Config.api_ws_url)) _url = Config.api_ws_url;
224+
if (!_url.endsWith("/")) _url += "/";
233225
const res2 = {
234226
wshost: _url,
235227
wsurl: _url,

OpenFlow/src/Messages/Message.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1081,9 +1081,12 @@ export class Message {
10811081
if (skipcreate) return;
10821082
cli._logger.debug("[" + cli.user.username + "] Deployment " + name + " not found in " + namespace + " so creating it");
10831083

1084-
let api_ws_url = Config.baseurl();
1084+
let api_ws_url = Config.basewsurl();
10851085
if (!NoderedUtil.IsNullEmpty(Config.api_ws_url)) api_ws_url = Config.api_ws_url;
10861086
if (!NoderedUtil.IsNullEmpty(Config.nodered_ws_url)) api_ws_url = Config.nodered_ws_url;
1087+
if (!api_ws_url.endsWith("/")) api_ws_url += "/";
1088+
1089+
10871090

10881091
let saml_baseurl = Config.protocol + "://" + hostname + "/";
10891092

OpenFlowNodeRED/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@openiap/nodered",
3-
"version": "1.1.132",
3+
"version": "1.1.135",
44
"description": "Simple wrapper around NodeRed, RabbitMQ and MongoDB to support a more scaleable NodeRed implementation.\r Also the \"backend\" for [OpenRPA](https://github.com/skadefro/OpenRPA)",
55
"main": "index.js",
66
"scripts": {

OpenFlowNodeRED/src/WebServer.ts

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,17 @@ export class WebServer {
3838
labelNames: ["nodetype"],
3939
buckets: [0.1, 0.3, 0.5, 0.7, 1, 3, 5, 7, 10]
4040
})
41+
public static openflow_nodered_nodeid_count = new client.Counter({
42+
name: 'openflow_nodered_nodeid_count',
43+
help: 'Total number of node calls',
44+
labelNames: ["nodetype", "nodeid"]
45+
})
46+
public static openflow_nodered_nodeid_duration = new client.Histogram({
47+
name: 'openflow_nodered_nodeid_duration',
48+
help: 'Duration of each node call',
49+
labelNames: ["nodetype", "nodeid"],
50+
buckets: [0.1, 0.3, 0.5, 0.7, 1, 3, 5, 7, 10]
51+
})
4152

4253
public static log_messages: any = {};
4354
private static settings: nodered_settings = null;
@@ -67,18 +78,9 @@ export class WebServer {
6778
client.collectDefaultMetrics({ register })
6879

6980
this._logger.debug("WebServer.configure::registerMetrics");
70-
if (Config.prometheus_measure_nodeid) {
71-
WebServer.openflow_nodered_node_count = new client.Counter({
72-
name: 'openflow_nodered_node_count',
73-
help: 'Total number of node calls',
74-
labelNames: ["nodetype", "nodeid"]
75-
})
76-
WebServer.openflow_nodered_node_duration = new client.Histogram({
77-
name: 'openflow_nodered_node_duration',
78-
help: 'Duration of each node call',
79-
labelNames: ["nodetype", "nodeid"],
80-
buckets: [0.1, 0.3, 0.5, 0.7, 1, 3, 5, 7, 10]
81-
})
81+
if (!NoderedUtil.IsNullUndefinded(register) && Config.prometheus_measure_nodeid) {
82+
register.registerMetric(WebServer.openflow_nodered_nodeid_count);
83+
register.registerMetric(WebServer.openflow_nodered_nodeid_duration);
8284
}
8385
if (!NoderedUtil.IsNullUndefinded(register)) register.registerMetric(WebServer.openflow_nodered_node_count);
8486
if (!NoderedUtil.IsNullUndefinded(register)) register.registerMetric(WebServer.openflow_nodered_node_duration);
@@ -176,19 +178,21 @@ export class WebServer {
176178
msg.event = msg.event.substring(5);
177179
if (msg.event.endsWith(".receive")) {
178180
msg.event = msg.event.substring(0, msg.event.length - 8);
179-
msg.end = WebServer.openflow_nodered_node_duration.startTimer()
181+
msg.end = WebServer.openflow_nodered_node_duration.startTimer();
182+
if (Config.prometheus_measure_nodeid) {
183+
msg.end2 = WebServer.openflow_nodered_nodeid_duration.startTimer();
184+
}
180185
WebServer.openflow_nodered_node_count.labels(msg.event).inc();
181-
if (Config.prometheus_measure_nodeid) WebServer.openflow_nodered_node_count.labels(msg.event, msg.nodeid).inc();
186+
if (Config.prometheus_measure_nodeid) WebServer.openflow_nodered_nodeid_count.labels(msg.event, msg.nodeid).inc();
182187
WebServer.log_messages[msg.msgid] = msg;
183188
}
184189
if (msg.event.endsWith(".send")) {
185190
msg.event = msg.event.substring(0, msg.event.length - 5);
186191
const startmessage = WebServer.log_messages[msg.msgid];
187192
if (!NoderedUtil.IsNullUndefinded(startmessage)) {
188-
if (Config.prometheus_measure_nodeid) {
189-
startmessage.end({ nodetype: startmessage.event, nodeid: msg.nodeid });
190-
} else {
191-
startmessage.end({ nodetype: startmessage.event });
193+
startmessage.end({ nodetype: startmessage.event });
194+
if (Config.prometheus_measure_nodeid && startmessage.end2) {
195+
startmessage.end2({ nodetype: startmessage.event, nodeid: msg.nodeid });
192196
}
193197
delete WebServer.log_messages[msg.msgid];
194198
}

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.1.132
1+
1.1.135

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@openiap/openflow",
3-
"version": "1.1.132",
3+
"version": "1.1.135",
44
"description": "Simple wrapper around NodeRed, RabbitMQ and MongoDB to support a more scaleable NodeRed implementation.\r Also the \"backend\" for [OpenRPA](https://github.com/skadefro/OpenRPA)",
55
"main": "index.js",
66
"scripts": {

0 commit comments

Comments
 (0)