diff options
Diffstat (limited to 'shared/server-commands/mock-servers/mock-proxy.ts')
-rw-r--r-- | shared/server-commands/mock-servers/mock-proxy.ts | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/shared/server-commands/mock-servers/mock-proxy.ts b/shared/server-commands/mock-servers/mock-proxy.ts new file mode 100644 index 000000000..75ac79055 --- /dev/null +++ b/shared/server-commands/mock-servers/mock-proxy.ts | |||
@@ -0,0 +1,25 @@ | |||
1 | |||
2 | import { createServer, Server } from 'http' | ||
3 | import proxy from 'proxy' | ||
4 | import { getPort, terminateServer } from './utils' | ||
5 | |||
6 | class MockProxy { | ||
7 | private server: Server | ||
8 | |||
9 | initialize () { | ||
10 | return new Promise<number>(res => { | ||
11 | this.server = proxy(createServer()) | ||
12 | this.server.listen(0, () => res(getPort(this.server))) | ||
13 | }) | ||
14 | } | ||
15 | |||
16 | terminate () { | ||
17 | return terminateServer(this.server) | ||
18 | } | ||
19 | } | ||
20 | |||
21 | // --------------------------------------------------------------------------- | ||
22 | |||
23 | export { | ||
24 | MockProxy | ||
25 | } | ||