diff options
author | Vitalii Lysak <v.lysak@dunice.net> | 2022-08-30 10:54:30 +0300 |
---|---|---|
committer | Vitalii Lysak <v.lysak@dunice.net> | 2022-08-30 10:54:30 +0300 |
commit | a7830e9bfb3e0d3988765301f84945328dc51434 (patch) | |
tree | a6ef87a6f4b205e80384042d2cec80945a7ec6d4 | |
parent | 33481889c903582e45d9beabc66eac0fe021863b (diff) | |
parent | 53053c00715b33ba83b055cb7c0f6bec629d7689 (diff) | |
download | webui-vue-a7830e9bfb3e0d3988765301f84945328dc51434.tar.xz |
Merge branch 'sila' of git.sila.ru:pub/openbmc/webui-vue into sila
10 files changed, 30 insertions, 43 deletions
diff --git a/src/store/plugins/WebSocketPlugin.js b/src/store/plugins/WebSocketPlugin.js index cbdc9329..afad6718 100644 --- a/src/store/plugins/WebSocketPlugin.js +++ b/src/store/plugins/WebSocketPlugin.js @@ -22,7 +22,9 @@ const WebSocketPlugin = (store) => { process.env.VUE_APP_SUBSCRIBE_SOCKET_DISABLED === 'true' ? true : false; if (socketDisabled) return; const token = store.getters['authentication/token']; - ws = new WebSocket(`wss://${window.location.host}/subscribe`, [token]); + const url = new URL('/subscribe', window.location.href); + url.protocol = url.protocol.replace('http', 'ws'); + ws = new WebSocket(url, [token]); ws.onopen = () => { ws.send(JSON.stringify(data)); }; diff --git a/src/views/Operations/Kvm/KvmConsole.vue b/src/views/Operations/Kvm/KvmConsole.vue index c028a9fc..c9425cfd 100644 --- a/src/views/Operations/Kvm/KvmConsole.vue +++ b/src/views/Operations/Kvm/KvmConsole.vue @@ -105,12 +105,10 @@ export default { this.rfb = null; }, openTerminal() { + const url = new URL('/kvm/0', window.location.href); + url.protocol = url.protocol.replace('http', 'ws'); const token = this.$store.getters['authentication/token']; - this.rfb = new RFB( - this.$refs.panel, - `wss://${window.location.host}/kvm/0`, - { wsProtocols: [token] } - ); + this.rfb = new RFB(this.$refs.panel, url, { wsProtocols: [token] }); this.rfb.scaleViewport = true; this.rfb.clipViewport = true; diff --git a/src/views/Operations/SerialOverLan/SerialOverLanConsole.vue b/src/views/Operations/SerialOverLan/SerialOverLanConsole.vue index 694083fd..6b84ab85 100644 --- a/src/views/Operations/SerialOverLan/SerialOverLanConsole.vue +++ b/src/views/Operations/SerialOverLan/SerialOverLanConsole.vue @@ -91,9 +91,9 @@ export default { openTerminal() { const token = this.$store.getters['authentication/token']; - this.ws = new WebSocket(`wss://${window.location.host}/console0`, [ - token, - ]); + const url = new URL('/console0', window.location.href); + url.protocol = url.protocol.replace('http', 'ws'); + this.ws = new WebSocket(url, [token]); // Refer https://github.com/xtermjs/xterm.js/ for xterm implementation and addons. diff --git a/src/views/Operations/VirtualMedia/VirtualMedia.vue b/src/views/Operations/VirtualMedia/VirtualMedia.vue index 8a3d5add..bbf6eb39 100644 --- a/src/views/Operations/VirtualMedia/VirtualMedia.vue +++ b/src/views/Operations/VirtualMedia/VirtualMedia.vue @@ -136,12 +136,9 @@ export default { methods: { startVM(device) { const token = this.$store.getters['authentication/token']; - device.nbd = new NbdServer( - `wss://${window.location.host}${device.websocket}`, - device.file, - device.id, - token - ); + const url = new URL(device.websocket, window.location.href); + url.protocol = url.protocol.replace('http', 'ws'); + device.nbd = new NbdServer(url, device.file, device.id, token); device.nbd.socketStarted = () => this.successToast(this.$t('pageVirtualMedia.toast.serverRunning')); device.nbd.errorReadingFile = () => diff --git a/src/views/_ibs/Operations/Kvm/KvmConsole.vue b/src/views/_ibs/Operations/Kvm/KvmConsole.vue index c671a4b9..69fce099 100644 --- a/src/views/_ibs/Operations/Kvm/KvmConsole.vue +++ b/src/views/_ibs/Operations/Kvm/KvmConsole.vue @@ -105,12 +105,10 @@ export default { this.rfb = null; }, openTerminal() { + const url = new URL('/kvm/0', window.location.href); + url.protocol = url.protocol.replace('http', 'ws'); const token = this.$store.getters['authentication/token']; - this.rfb = new RFB( - this.$refs.panel, - `wss://${window.location.host}/kvm/0`, - { wsProtocols: [token] } - ); + this.rfb = new RFB(this.$refs.panel, url, { wsProtocols: [token] }); this.rfb.scaleViewport = true; this.rfb.clipViewport = true; diff --git a/src/views/_ibs/Operations/SerialOverLan/SerialOverLanConsole.vue b/src/views/_ibs/Operations/SerialOverLan/SerialOverLanConsole.vue index 6393006a..c05486f8 100644 --- a/src/views/_ibs/Operations/SerialOverLan/SerialOverLanConsole.vue +++ b/src/views/_ibs/Operations/SerialOverLan/SerialOverLanConsole.vue @@ -91,9 +91,9 @@ export default { openTerminal() { const token = this.$store.getters['authentication/token']; - this.ws = new WebSocket(`wss://${window.location.host}/console0`, [ - token, - ]); + const url = new URL('/console0', window.location.href); + url.protocol = url.protocol.replace('http', 'ws'); + this.ws = new WebSocket(url, [token]); // Refer https://github.com/xtermjs/xterm.js/ for xterm implementation and addons. diff --git a/src/views/_ibs/Operations/VirtualMedia/VirtualMedia.vue b/src/views/_ibs/Operations/VirtualMedia/VirtualMedia.vue index bfd87b8a..320f0030 100644 --- a/src/views/_ibs/Operations/VirtualMedia/VirtualMedia.vue +++ b/src/views/_ibs/Operations/VirtualMedia/VirtualMedia.vue @@ -150,12 +150,9 @@ export default { methods: { startVM(device) { const token = this.$store.getters['authentication/token']; - device.nbd = new NbdServer( - `wss://${window.location.host}${device.websocket}`, - device.file, - device.id, - token - ); + const url = new URL(device.websocket, window.location.href); + url.protocol = url.protocol.replace('http', 'ws'); + device.nbd = new NbdServer(url, device.file, device.id, token); device.nbd.socketStarted = () => this.successToast(this.$t('pageVirtualMedia.toast.serverRunning')); device.nbd.errorReadingFile = () => diff --git a/src/views/_sila/Operations/Kvm/KvmConsole.vue b/src/views/_sila/Operations/Kvm/KvmConsole.vue index 603aa115..b4fddb9d 100644 --- a/src/views/_sila/Operations/Kvm/KvmConsole.vue +++ b/src/views/_sila/Operations/Kvm/KvmConsole.vue @@ -111,12 +111,10 @@ export default { this.rfb = null; }, openTerminal() { + const url = new URL('/kvm/0', window.location.href); + url.protocol = url.protocol.replace('http', 'ws'); const token = this.$store.getters['authentication/token']; - this.rfb = new RFB( - this.$refs.panel, - `wss://${window.location.host}/kvm/0`, - { wsProtocols: [token] } - ); + this.rfb = new RFB(this.$refs.panel, url, { wsProtocols: [token] }); this.rfb.scaleViewport = true; this.rfb.clipViewport = true; diff --git a/src/views/_sila/Operations/SerialOverLan/SerialOverLanConsole.vue b/src/views/_sila/Operations/SerialOverLan/SerialOverLanConsole.vue index b1087805..3b51fc56 100644 --- a/src/views/_sila/Operations/SerialOverLan/SerialOverLanConsole.vue +++ b/src/views/_sila/Operations/SerialOverLan/SerialOverLanConsole.vue @@ -91,9 +91,9 @@ export default { openTerminal() { const token = this.$store.getters['authentication/token']; - this.ws = new WebSocket(`wss://${window.location.host}/console0`, [ - token, - ]); + const url = new URL('/console0', window.location.href); + url.protocol = url.protocol.replace('http', 'ws'); + this.ws = new WebSocket(url, [token]); // Refer https://github.com/xtermjs/xterm.js/ for xterm implementation and addons. diff --git a/src/views/_sila/Operations/VirtualMedia/VirtualMedia.vue b/src/views/_sila/Operations/VirtualMedia/VirtualMedia.vue index be5e2ee9..4c3f4da0 100644 --- a/src/views/_sila/Operations/VirtualMedia/VirtualMedia.vue +++ b/src/views/_sila/Operations/VirtualMedia/VirtualMedia.vue @@ -152,12 +152,9 @@ export default { methods: { startVM(device) { const token = this.$store.getters['authentication/token']; - device.nbd = new NbdServer( - `wss://${window.location.host}${device.websocket}`, - device.file, - device.id, - token - ); + const url = new URL(device.websocket, window.location.href); + url.protocol = url.protocol.replace('http', 'ws'); + device.nbd = new NbdServer(url, device.file, device.id, token); device.nbd.socketStarted = () => this.successToast(this.$t('pageVirtualMedia.toast.serverRunning')); device.nbd.errorReadingFile = () => |