1 |
|
2 |
|
3 | const getSocketUrlParts = require('./utils/getSocketUrlParts.js');
|
4 | const getUrlFromParts = require('./utils/getUrlFromParts');
|
5 | const getWDSMetadata = require('./utils/getWDSMetadata');
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 | function initWDSSocket(messageHandler, resourceQuery) {
|
14 | if (typeof __webpack_dev_server_client__ !== 'undefined') {
|
15 | let SocketClient = __webpack_dev_server_client__;
|
16 | if (typeof __webpack_dev_server_client__.default !== 'undefined') {
|
17 | SocketClient = __webpack_dev_server_client__.default;
|
18 | }
|
19 |
|
20 | const wdsMeta = getWDSMetadata(SocketClient);
|
21 | const urlParts = getSocketUrlParts(resourceQuery, wdsMeta);
|
22 |
|
23 | const connection = new SocketClient(getUrlFromParts(urlParts, wdsMeta));
|
24 |
|
25 | connection.onMessage(function onSocketMessage(data) {
|
26 | const message = JSON.parse(data);
|
27 | messageHandler(message);
|
28 | });
|
29 | }
|
30 | }
|
31 |
|
32 | module.exports = { init: initWDSSocket };
|