PeerTube/shared/extra-utils/mock-servers/mock-proxy.ts

29 lines
579 B
TypeScript
Raw Normal View History

import { createServer, Server } from 'http'
2021-08-27 07:32:44 -05:00
import proxy from 'proxy'
import { randomInt } from '@shared/core-utils'
2021-09-06 01:13:11 -05:00
import { terminateServer } from './utils'
class MockProxy {
private server: Server
initialize () {
return new Promise<number>(res => {
2021-10-12 06:30:41 -05:00
const port = 46000 + randomInt(1, 1000)
this.server = proxy(createServer())
this.server.listen(port, () => res(port))
})
}
terminate () {
2021-09-06 01:13:11 -05:00
return terminateServer(this.server)
}
}
// ---------------------------------------------------------------------------
export {
MockProxy
}