webpack-dev-server 4.2.1 → 4.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -17
- package/bin/cli-flags.js +317 -35
- package/client/index.js +34 -18
- package/client/modules/logger/index.js +43 -14
- package/client/modules/sockjs-client/index.js +20 -17
- package/client/overlay.js +30 -5
- package/client/socket.js +7 -3
- package/lib/Server.js +202 -105
- package/lib/options.json +282 -17
- package/package.json +10 -8
|
@@ -91,33 +91,61 @@ function _createClass(Constructor, protoProps, staticProps) {
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
var LogType = Object.freeze({
|
|
94
|
-
error:
|
|
94
|
+
error:
|
|
95
|
+
/** @type {"error"} */
|
|
96
|
+
"error",
|
|
95
97
|
// message, c style arguments
|
|
96
|
-
warn:
|
|
98
|
+
warn:
|
|
99
|
+
/** @type {"warn"} */
|
|
100
|
+
"warn",
|
|
97
101
|
// message, c style arguments
|
|
98
|
-
info:
|
|
102
|
+
info:
|
|
103
|
+
/** @type {"info"} */
|
|
104
|
+
"info",
|
|
99
105
|
// message, c style arguments
|
|
100
|
-
log:
|
|
106
|
+
log:
|
|
107
|
+
/** @type {"log"} */
|
|
108
|
+
"log",
|
|
101
109
|
// message, c style arguments
|
|
102
|
-
debug:
|
|
110
|
+
debug:
|
|
111
|
+
/** @type {"debug"} */
|
|
112
|
+
"debug",
|
|
103
113
|
// message, c style arguments
|
|
104
|
-
trace:
|
|
114
|
+
trace:
|
|
115
|
+
/** @type {"trace"} */
|
|
116
|
+
"trace",
|
|
105
117
|
// no arguments
|
|
106
|
-
group:
|
|
118
|
+
group:
|
|
119
|
+
/** @type {"group"} */
|
|
120
|
+
"group",
|
|
107
121
|
// [label]
|
|
108
|
-
groupCollapsed:
|
|
122
|
+
groupCollapsed:
|
|
123
|
+
/** @type {"groupCollapsed"} */
|
|
124
|
+
"groupCollapsed",
|
|
109
125
|
// [label]
|
|
110
|
-
groupEnd:
|
|
126
|
+
groupEnd:
|
|
127
|
+
/** @type {"groupEnd"} */
|
|
128
|
+
"groupEnd",
|
|
111
129
|
// [label]
|
|
112
|
-
profile:
|
|
130
|
+
profile:
|
|
131
|
+
/** @type {"profile"} */
|
|
132
|
+
"profile",
|
|
113
133
|
// [profileName]
|
|
114
|
-
profileEnd:
|
|
134
|
+
profileEnd:
|
|
135
|
+
/** @type {"profileEnd"} */
|
|
136
|
+
"profileEnd",
|
|
115
137
|
// [profileName]
|
|
116
|
-
time:
|
|
138
|
+
time:
|
|
139
|
+
/** @type {"time"} */
|
|
140
|
+
"time",
|
|
117
141
|
// name, time as [seconds, nanoseconds]
|
|
118
|
-
clear:
|
|
142
|
+
clear:
|
|
143
|
+
/** @type {"clear"} */
|
|
144
|
+
"clear",
|
|
119
145
|
// no arguments
|
|
120
|
-
status:
|
|
146
|
+
status:
|
|
147
|
+
/** @type {"status"} */
|
|
148
|
+
"status" // message, arguments
|
|
121
149
|
|
|
122
150
|
});
|
|
123
151
|
exports.LogType = LogType;
|
|
@@ -314,6 +342,7 @@ var WebpackLogger = /*#__PURE__*/function () {
|
|
|
314
342
|
if (this[TIMERS_AGGREGATES_SYMBOL] === undefined) return;
|
|
315
343
|
var time = this[TIMERS_AGGREGATES_SYMBOL].get(label);
|
|
316
344
|
if (time === undefined) return;
|
|
345
|
+
this[TIMERS_AGGREGATES_SYMBOL].delete(label);
|
|
317
346
|
this[LOG_SYMBOL](LogType.time, [label].concat(_toConsumableArray(time)));
|
|
318
347
|
}
|
|
319
348
|
}]);
|
|
@@ -1880,7 +1880,7 @@ module.exports = function (SockJS, availableTransports) {
|
|
|
1880
1880
|
"use strict";
|
|
1881
1881
|
|
|
1882
1882
|
|
|
1883
|
-
var EventEmitter = __webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter,
|
|
1883
|
+
var EventEmitter = (__webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter),
|
|
1884
1884
|
inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"),
|
|
1885
1885
|
JSON3 = __webpack_require__(/*! json3 */ "./node_modules/json3/lib/json3.js"),
|
|
1886
1886
|
objectUtils = __webpack_require__(/*! ./utils/object */ "./node_modules/sockjs-client/lib/utils/object.js");
|
|
@@ -1941,7 +1941,7 @@ module.exports = InfoAjax;
|
|
|
1941
1941
|
|
|
1942
1942
|
|
|
1943
1943
|
var inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"),
|
|
1944
|
-
EventEmitter = __webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter,
|
|
1944
|
+
EventEmitter = (__webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter),
|
|
1945
1945
|
JSON3 = __webpack_require__(/*! json3 */ "./node_modules/json3/lib/json3.js"),
|
|
1946
1946
|
XHRLocalObject = __webpack_require__(/*! ./transport/sender/xhr-local */ "./node_modules/sockjs-client/lib/transport/sender/xhr-local.js"),
|
|
1947
1947
|
InfoAjax = __webpack_require__(/*! ./info-ajax */ "./node_modules/sockjs-client/lib/info-ajax.js");
|
|
@@ -1981,7 +1981,7 @@ module.exports = InfoReceiverIframe;
|
|
|
1981
1981
|
"use strict";
|
|
1982
1982
|
|
|
1983
1983
|
|
|
1984
|
-
var EventEmitter = __webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter,
|
|
1984
|
+
var EventEmitter = (__webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter),
|
|
1985
1985
|
inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"),
|
|
1986
1986
|
JSON3 = __webpack_require__(/*! json3 */ "./node_modules/json3/lib/json3.js"),
|
|
1987
1987
|
utils = __webpack_require__(/*! ./utils/event */ "./node_modules/sockjs-client/lib/utils/event.js"),
|
|
@@ -2062,7 +2062,7 @@ module.exports = InfoIframe;
|
|
|
2062
2062
|
"use strict";
|
|
2063
2063
|
|
|
2064
2064
|
|
|
2065
|
-
var EventEmitter = __webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter,
|
|
2065
|
+
var EventEmitter = (__webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter),
|
|
2066
2066
|
inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"),
|
|
2067
2067
|
urlUtils = __webpack_require__(/*! ./utils/url */ "./node_modules/sockjs-client/lib/utils/url.js"),
|
|
2068
2068
|
XDR = __webpack_require__(/*! ./transport/sender/xdr */ "./node_modules/sockjs-client/lib/transport/sender/xdr.js"),
|
|
@@ -2958,7 +2958,8 @@ if ('ab'.split(/(?:ab)*/).length !== 2 || '.'.split(/(.?)(.?)/).length !== 4 ||
|
|
|
2958
2958
|
}
|
|
2959
2959
|
|
|
2960
2960
|
var output = [],
|
|
2961
|
-
flags = (separator.ignoreCase ? 'i' : '') + (separator.multiline ? 'm' : '') + (separator.extended ? 'x' : '') + (
|
|
2961
|
+
flags = (separator.ignoreCase ? 'i' : '') + (separator.multiline ? 'm' : '') + (separator.extended ? 'x' : '') + ( // Proposed for ES6
|
|
2962
|
+
separator.sticky ? 'y' : ''),
|
|
2962
2963
|
// Firefox 3+
|
|
2963
2964
|
lastLastIndex = 0,
|
|
2964
2965
|
// Make `global` and avoid `lastIndex` issues by working with a copy
|
|
@@ -3086,7 +3087,7 @@ __webpack_require__(/*! ./transport/websocket */ "./node_modules/sockjs-client/l
|
|
|
3086
3087
|
"use strict";
|
|
3087
3088
|
|
|
3088
3089
|
|
|
3089
|
-
var EventEmitter = __webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter,
|
|
3090
|
+
var EventEmitter = (__webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter),
|
|
3090
3091
|
inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"),
|
|
3091
3092
|
utils = __webpack_require__(/*! ../../utils/event */ "./node_modules/sockjs-client/lib/utils/event.js"),
|
|
3092
3093
|
urlUtils = __webpack_require__(/*! ../../utils/url */ "./node_modules/sockjs-client/lib/utils/url.js"),
|
|
@@ -3415,7 +3416,7 @@ module.exports = HtmlFileTransport;
|
|
|
3415
3416
|
|
|
3416
3417
|
var inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"),
|
|
3417
3418
|
JSON3 = __webpack_require__(/*! json3 */ "./node_modules/json3/lib/json3.js"),
|
|
3418
|
-
EventEmitter = __webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter,
|
|
3419
|
+
EventEmitter = (__webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter),
|
|
3419
3420
|
version = __webpack_require__(/*! ../version */ "./node_modules/sockjs-client/lib/version.js"),
|
|
3420
3421
|
urlUtils = __webpack_require__(/*! ../utils/url */ "./node_modules/sockjs-client/lib/utils/url.js"),
|
|
3421
3422
|
iframeUtils = __webpack_require__(/*! ../utils/iframe */ "./node_modules/sockjs-client/lib/utils/iframe.js"),
|
|
@@ -3659,7 +3660,7 @@ module.exports = AjaxBasedTransport;
|
|
|
3659
3660
|
|
|
3660
3661
|
|
|
3661
3662
|
var inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"),
|
|
3662
|
-
EventEmitter = __webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter;
|
|
3663
|
+
EventEmitter = (__webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter);
|
|
3663
3664
|
|
|
3664
3665
|
var debug = function debug() {};
|
|
3665
3666
|
|
|
@@ -3803,7 +3804,7 @@ module.exports = function (transport) {
|
|
|
3803
3804
|
|
|
3804
3805
|
|
|
3805
3806
|
var inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"),
|
|
3806
|
-
EventEmitter = __webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter;
|
|
3807
|
+
EventEmitter = (__webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter);
|
|
3807
3808
|
|
|
3808
3809
|
var debug = function debug() {};
|
|
3809
3810
|
|
|
@@ -3925,7 +3926,7 @@ module.exports = SenderReceiver;
|
|
|
3925
3926
|
|
|
3926
3927
|
|
|
3927
3928
|
var inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"),
|
|
3928
|
-
EventEmitter = __webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter,
|
|
3929
|
+
EventEmitter = (__webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter),
|
|
3929
3930
|
EventSourceDriver = __webpack_require__(/*! eventsource */ "./node_modules/sockjs-client/lib/transport/browser/eventsource.js");
|
|
3930
3931
|
|
|
3931
3932
|
var debug = function debug() {};
|
|
@@ -4006,7 +4007,7 @@ module.exports = EventSourceReceiver;
|
|
|
4006
4007
|
var inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"),
|
|
4007
4008
|
iframeUtils = __webpack_require__(/*! ../../utils/iframe */ "./node_modules/sockjs-client/lib/utils/iframe.js"),
|
|
4008
4009
|
urlUtils = __webpack_require__(/*! ../../utils/url */ "./node_modules/sockjs-client/lib/utils/url.js"),
|
|
4009
|
-
EventEmitter = __webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter,
|
|
4010
|
+
EventEmitter = (__webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter),
|
|
4010
4011
|
random = __webpack_require__(/*! ../../utils/random */ "./node_modules/sockjs-client/lib/utils/random.js");
|
|
4011
4012
|
|
|
4012
4013
|
var debug = function debug() {};
|
|
@@ -4107,7 +4108,7 @@ var utils = __webpack_require__(/*! ../../utils/iframe */ "./node_modules/sockjs
|
|
|
4107
4108
|
browser = __webpack_require__(/*! ../../utils/browser */ "./node_modules/sockjs-client/lib/utils/browser.js"),
|
|
4108
4109
|
urlUtils = __webpack_require__(/*! ../../utils/url */ "./node_modules/sockjs-client/lib/utils/url.js"),
|
|
4109
4110
|
inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"),
|
|
4110
|
-
EventEmitter = __webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter;
|
|
4111
|
+
EventEmitter = (__webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter);
|
|
4111
4112
|
|
|
4112
4113
|
var debug = function debug() {};
|
|
4113
4114
|
|
|
@@ -4311,7 +4312,7 @@ module.exports = JsonpReceiver;
|
|
|
4311
4312
|
|
|
4312
4313
|
|
|
4313
4314
|
var inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"),
|
|
4314
|
-
EventEmitter = __webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter;
|
|
4315
|
+
EventEmitter = (__webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter);
|
|
4315
4316
|
|
|
4316
4317
|
var debug = function debug() {};
|
|
4317
4318
|
|
|
@@ -4513,7 +4514,7 @@ module.exports = function (url, payload, callback) {
|
|
|
4513
4514
|
"use strict";
|
|
4514
4515
|
|
|
4515
4516
|
|
|
4516
|
-
var EventEmitter = __webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter,
|
|
4517
|
+
var EventEmitter = (__webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter),
|
|
4517
4518
|
inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"),
|
|
4518
4519
|
eventUtils = __webpack_require__(/*! ../../utils/event */ "./node_modules/sockjs-client/lib/utils/event.js"),
|
|
4519
4520
|
browser = __webpack_require__(/*! ../../utils/browser */ "./node_modules/sockjs-client/lib/utils/browser.js"),
|
|
@@ -4659,10 +4660,12 @@ module.exports = XHRCorsObject;
|
|
|
4659
4660
|
"use strict";
|
|
4660
4661
|
|
|
4661
4662
|
|
|
4662
|
-
var EventEmitter = __webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter,
|
|
4663
|
+
var EventEmitter = (__webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter),
|
|
4663
4664
|
inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js");
|
|
4664
4665
|
|
|
4665
|
-
function
|
|
4666
|
+
function
|
|
4667
|
+
/* method, url, payload, opts */
|
|
4668
|
+
XHRFake() {
|
|
4666
4669
|
var self = this;
|
|
4667
4670
|
EventEmitter.call(this);
|
|
4668
4671
|
this.to = setTimeout(function () {
|
|
@@ -4719,7 +4722,7 @@ module.exports = XHRLocalObject;
|
|
|
4719
4722
|
var utils = __webpack_require__(/*! ../utils/event */ "./node_modules/sockjs-client/lib/utils/event.js"),
|
|
4720
4723
|
urlUtils = __webpack_require__(/*! ../utils/url */ "./node_modules/sockjs-client/lib/utils/url.js"),
|
|
4721
4724
|
inherits = __webpack_require__(/*! inherits */ "./node_modules/inherits/inherits_browser.js"),
|
|
4722
|
-
EventEmitter = __webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter,
|
|
4725
|
+
EventEmitter = (__webpack_require__(/*! events */ "./node_modules/sockjs-client/lib/event/emitter.js").EventEmitter),
|
|
4723
4726
|
WebsocketDriver = __webpack_require__(/*! ./driver/websocket */ "./node_modules/sockjs-client/lib/transport/browser/websocket.js");
|
|
4724
4727
|
|
|
4725
4728
|
var debug = function debug() {};
|
package/client/overlay.js
CHANGED
|
@@ -108,19 +108,44 @@ function hide() {
|
|
|
108
108
|
document.body.removeChild(iframeContainerElement);
|
|
109
109
|
iframeContainerElement = null;
|
|
110
110
|
containerElement = null;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function formatProblem(type, item) {
|
|
114
|
+
var header = type === "warning" ? "WARNING" : "ERROR";
|
|
115
|
+
var body = "";
|
|
116
|
+
|
|
117
|
+
if (typeof item === "string") {
|
|
118
|
+
body += item;
|
|
119
|
+
} else {
|
|
120
|
+
var file = item.file || ""; // eslint-disable-next-line no-nested-ternary
|
|
121
|
+
|
|
122
|
+
var moduleName = item.moduleName ? item.moduleName.indexOf("!") !== -1 ? "".concat(item.moduleName.replace(/^(\s|\S)*!/, ""), " (").concat(item.moduleName, ")") : "".concat(item.moduleName) : "";
|
|
123
|
+
var loc = item.loc;
|
|
124
|
+
header += "".concat(moduleName || file ? " in ".concat(moduleName ? "".concat(moduleName).concat(file ? " (".concat(file, ")") : "") : file).concat(loc ? " ".concat(loc) : "") : "");
|
|
125
|
+
body += item.message || "";
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
return {
|
|
129
|
+
header: header,
|
|
130
|
+
body: body
|
|
131
|
+
};
|
|
111
132
|
} // Compilation with errors (e.g. syntax error or missing modules).
|
|
112
133
|
|
|
113
134
|
|
|
114
|
-
function show(
|
|
135
|
+
function show(type, messages) {
|
|
115
136
|
ensureOverlayExists(function () {
|
|
116
137
|
messages.forEach(function (message) {
|
|
117
138
|
var entryElement = document.createElement("div");
|
|
118
139
|
var typeElement = document.createElement("span");
|
|
119
|
-
|
|
140
|
+
|
|
141
|
+
var _formatProblem = formatProblem(type, message),
|
|
142
|
+
header = _formatProblem.header,
|
|
143
|
+
body = _formatProblem.body;
|
|
144
|
+
|
|
145
|
+
typeElement.innerText = header;
|
|
120
146
|
typeElement.style.color = "#".concat(colors.red); // Make it look similar to our terminal.
|
|
121
147
|
|
|
122
|
-
var
|
|
123
|
-
var text = ansiHTML(encode(errorMessage));
|
|
148
|
+
var text = ansiHTML(encode(body));
|
|
124
149
|
var messageTextNode = document.createElement("div");
|
|
125
150
|
messageTextNode.innerHTML = text;
|
|
126
151
|
entryElement.appendChild(typeElement);
|
|
@@ -134,4 +159,4 @@ function show(messages, type) {
|
|
|
134
159
|
});
|
|
135
160
|
}
|
|
136
161
|
|
|
137
|
-
export { show, hide };
|
|
162
|
+
export { formatProblem, show, hide };
|
package/client/socket.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* global __webpack_dev_server_client__ */
|
|
2
|
-
import WebSocketClient from "./clients/WebSocketClient.js";
|
|
2
|
+
import WebSocketClient from "./clients/WebSocketClient.js";
|
|
3
|
+
import { log } from "./utils/log.js"; // this WebsocketClient is here as a default fallback, in case the client is not injected
|
|
3
4
|
|
|
4
5
|
/* eslint-disable camelcase */
|
|
5
6
|
|
|
@@ -9,12 +10,14 @@ typeof __webpack_dev_server_client__.default !== "undefined" ? __webpack_dev_ser
|
|
|
9
10
|
/* eslint-enable camelcase */
|
|
10
11
|
|
|
11
12
|
var retries = 0;
|
|
13
|
+
var maxRetries = 10;
|
|
12
14
|
var client = null;
|
|
13
15
|
|
|
14
|
-
var socket = function initSocket(url, handlers) {
|
|
16
|
+
var socket = function initSocket(url, handlers, reconnect) {
|
|
15
17
|
client = new Client(url);
|
|
16
18
|
client.onOpen(function () {
|
|
17
19
|
retries = 0;
|
|
20
|
+
maxRetries = reconnect;
|
|
18
21
|
});
|
|
19
22
|
client.onClose(function () {
|
|
20
23
|
if (retries === 0) {
|
|
@@ -24,12 +27,13 @@ var socket = function initSocket(url, handlers) {
|
|
|
24
27
|
|
|
25
28
|
client = null; // After 10 retries stop trying, to prevent logspam.
|
|
26
29
|
|
|
27
|
-
if (retries
|
|
30
|
+
if (retries < maxRetries) {
|
|
28
31
|
// Exponentially increase timeout to reconnect.
|
|
29
32
|
// Respectfully copied from the package `got`.
|
|
30
33
|
// eslint-disable-next-line no-mixed-operators, no-restricted-properties
|
|
31
34
|
var retryInMs = 1000 * Math.pow(2, retries) + Math.random() * 100;
|
|
32
35
|
retries += 1;
|
|
36
|
+
log.info("Trying to reconnect...");
|
|
33
37
|
setTimeout(function () {
|
|
34
38
|
socket(url, handlers);
|
|
35
39
|
}, retryInMs);
|