mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-15 23:24:52 +09:00
Replace remaining usage of phin (#862)
Replace the remaining places in the codebase using phin with fetch. With the exception of HttpCloser which uses the http/https request method instead.
This commit is contained in:
1 parent
ef0baaa30f
commit
05b6bf8c04
13 files changed
+91
-102
No files matched your search
@@ -4,8 +4,7 @@ const fs = require("fs-extra");
|
||||
const http = require("http");
|
||||
const https = require("https");
|
||||
const util = require("util");
|
||||
|
||||
const phin = require("phin");
|
||||
const events = require("node:events");
|
||||
|
||||
const HttpCloser = require("@clusterio/controller/dist/node/src/HttpCloser").default;
|
||||
|
||||
@@ -38,8 +37,16 @@ function serverSuite(proto) {
|
||||
}
|
||||
|
||||
async function get(url, options = {}) {
|
||||
let core = { ...clientOptions, ...(options.core || {}) };
|
||||
return await phin({ ...options, url, core });
|
||||
const request = api.request(url, { ...clientOptions, ...options });
|
||||
request.end();
|
||||
const [response] = await events.once(request, "response");
|
||||
response.body = await new Promise((resolve, reject) => {
|
||||
const chunks = [];
|
||||
response.on("data", chunk => { chunks.push(chunk); });
|
||||
response.on("error", err => { reject(err); });
|
||||
response.on("end", () => { resolve(Buffer.concat(chunks)); });
|
||||
});
|
||||
return response;
|
||||
}
|
||||
|
||||
before(async function() {
|
||||
@@ -101,7 +108,7 @@ function serverSuite(proto) {
|
||||
});
|
||||
|
||||
let agent = new api.Agent({ keepAlive: true });
|
||||
let request = catched(get(addr, { core: { agent }}));
|
||||
let request = catched(get(addr, { agent }));
|
||||
await waitForStage1;
|
||||
stage2();
|
||||
await closer.close();
|
||||
@@ -121,7 +128,7 @@ function serverSuite(proto) {
|
||||
});
|
||||
|
||||
let agent = new api.Agent({ keepAlive: true });
|
||||
let request = catched(get(addr, { core: { agent }}));
|
||||
let request = catched(get(addr, { agent }));
|
||||
await waitForStage1;
|
||||
await closer.close();
|
||||
|
||||
@@ -145,7 +152,7 @@ function serverSuite(proto) {
|
||||
let close = catched(closer.close());
|
||||
|
||||
let agent = new api.Agent({ keepAlive: true });
|
||||
await assert.rejects(get(addr, { core: { agent }}), { code: "ECONNREFUSED" });
|
||||
await assert.rejects(get(addr, { agent }), { code: "ECONNREFUSED" });
|
||||
|
||||
let response = await request;
|
||||
assert.equal(response.statusCode, 200, "non-200 response status code");
|
||||
@@ -165,7 +172,7 @@ function serverSuite(proto) {
|
||||
});
|
||||
|
||||
let agent = new api.Agent({ keepAlive: true });
|
||||
let request = catched(get(addr, { core: { agent }}));
|
||||
let request = catched(get(addr, { agent }));
|
||||
await waitForStage1;
|
||||
stage2();
|
||||
await closer.close();
|
||||
@@ -186,8 +193,8 @@ function serverSuite(proto) {
|
||||
});
|
||||
|
||||
let agent = new api.Agent({ keepAlive: true, maxSockets: 1 });
|
||||
let request = catched(get(addr, { core: { agent }}));
|
||||
let droppedRequest = catched(get(addr, { core: { agent }}));
|
||||
let request = catched(get(addr, { agent }));
|
||||
let droppedRequest = catched(get(addr, { agent }));
|
||||
await waitForStage1;
|
||||
stage2();
|
||||
await closer.close();
|
||||
@@ -212,10 +219,7 @@ function serverSuite(proto) {
|
||||
await closer.close(tick*2);
|
||||
stage2();
|
||||
|
||||
// Due to a bug in phin [https://github.com/ethanent/phin/issues/59]
|
||||
// the request Promise never settles.
|
||||
// TODO: uncomment when bug is fixed in phin.
|
||||
// await assert.rejects(request);
|
||||
await assert.rejects(request);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user