1 |
|
2 |
|
3 | "use strict";
|
4 |
|
5 | var urlBase = decodeURIComponent(__resourceQuery.slice(1));
|
6 | exports.keepAlive = function (options) {
|
7 | var data = options.data;
|
8 | var onError = options.onError;
|
9 | var active = options.active;
|
10 | var module = options.module;
|
11 | var response;
|
12 | var request = (
|
13 | urlBase.startsWith("https") ? require("https") : require("http")
|
14 | ).request(
|
15 | urlBase + data,
|
16 | {
|
17 | agent: false,
|
18 | headers: { accept: "text/event-stream" }
|
19 | },
|
20 | function (res) {
|
21 | response = res;
|
22 | response.on("error", errorHandler);
|
23 | if (!active && !module.hot) {
|
24 | console.log(
|
25 | "Hot Module Replacement is not enabled. Waiting for process restart..."
|
26 | );
|
27 | }
|
28 | }
|
29 | );
|
30 | function errorHandler(err) {
|
31 | err.message =
|
32 | "Problem communicating active modules to the server: " + err.message;
|
33 | onError(err);
|
34 | }
|
35 | request.on("error", errorHandler);
|
36 | request.end();
|
37 | return function () {
|
38 | response.destroy();
|
39 | };
|
40 | };
|