axios-with-cookies
Version:
Fork of axios-cookiejar-support with configurable http(s)-agent
31 lines (30 loc) • 1.04 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createTestServer = void 0;
const node_http_1 = __importDefault(require("node:http"));
const node_util_1 = require("node:util");
async function createTestServer(stories) {
const server = node_http_1.default.createServer();
await (0, node_util_1.promisify)(server.listen).apply(server);
const serverInfo = server.address();
if (serverInfo == null || typeof serverInfo === 'string') {
throw new Error('Failed to setup a test server.');
}
server.on('request', (req, res) => {
const listener = stories.shift();
if (listener != null) {
listener(req, res);
}
if (stories.length === 0) {
server.close();
}
});
return {
port: serverInfo.port,
server,
};
}
exports.createTestServer = createTestServer;