49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
Object.defineProperty(exports, "applyNextWorkerFixture", {
|
||
|
enumerable: true,
|
||
|
get: function() {
|
||
|
return applyNextWorkerFixture;
|
||
|
}
|
||
|
});
|
||
|
const _proxy = require("../proxy");
|
||
|
class NextWorkerFixtureImpl {
|
||
|
async setup() {
|
||
|
const server = await (0, _proxy.createProxyServer)({
|
||
|
onFetch: this.handleProxyFetch.bind(this)
|
||
|
});
|
||
|
this.proxyPort = server.port;
|
||
|
this.proxyServer = server;
|
||
|
}
|
||
|
teardown() {
|
||
|
if (this.proxyServer) {
|
||
|
this.proxyServer.close();
|
||
|
this.proxyServer = null;
|
||
|
}
|
||
|
}
|
||
|
cleanupTest(testId) {
|
||
|
this.proxyFetchMap.delete(testId);
|
||
|
}
|
||
|
onFetch(testId, handler) {
|
||
|
this.proxyFetchMap.set(testId, handler);
|
||
|
}
|
||
|
async handleProxyFetch(testId, request) {
|
||
|
const handler = this.proxyFetchMap.get(testId);
|
||
|
return handler == null ? void 0 : handler(request);
|
||
|
}
|
||
|
constructor(){
|
||
|
this.proxyPort = 0;
|
||
|
this.proxyServer = null;
|
||
|
this.proxyFetchMap = new Map();
|
||
|
}
|
||
|
}
|
||
|
async function applyNextWorkerFixture(use) {
|
||
|
const fixture = new NextWorkerFixtureImpl();
|
||
|
await fixture.setup();
|
||
|
await use(fixture);
|
||
|
fixture.teardown();
|
||
|
}
|
||
|
|
||
|
//# sourceMappingURL=next-worker-fixture.js.map
|