webpack/test/helpers/EventSourceForNode.js

47 lines
917 B
JavaScript
Raw Normal View History

2021-01-21 23:32:49 +08:00
/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Tobias Koppers @sokra
*/
"use strict";
module.exports = class EventSource {
constructor(url) {
this.response = undefined;
2021-10-25 18:12:52 +08:00
const request = (
url.startsWith("https:") ? require("https") : require("http")
).request(
2021-01-22 04:05:23 +08:00
url,
{
agent: false,
2025-06-20 22:08:04 +08:00
rejectUnauthorized: false,
2021-01-22 04:05:23 +08:00
headers: { accept: "text/event-stream" }
},
(res) => {
2021-01-22 04:05:23 +08:00
this.response = res;
res.on("error", (err) => {
2021-01-22 04:05:23 +08:00
if (this.onerror) this.onerror(err);
});
}
);
request.on("error", (err) => {
2021-01-22 04:05:23 +08:00
if (this.onerror) this.onerror({ message: err });
});
request.end();
2021-01-21 23:32:49 +08:00
}
close() {
this.response.destroy();
}
// eslint-disable-next-line accessor-pairs
2021-01-21 23:32:49 +08:00
set onopen(value) {
throw new Error("not implemented");
}
// eslint-disable-next-line accessor-pairs
2021-01-21 23:32:49 +08:00
set onmessage(value) {
throw new Error("not implemented");
}
};