UNPKG

@copperjs/copper

Version:
29 lines 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.StandaloneServer = void 0; const fastify_1 = require("fastify"); const routes_1 = require("./routes"); const websockets_1 = require("../common/websockets"); const sessionManager_1 = require("./sessionManager"); const errors_1 = require("../common/errors"); const utils_1 = require("../common/utils"); const config_1 = require("./config"); const commands_1 = require("./webdriver/commands"); class StandaloneServer { constructor({ port, logLevel }) { this.port = port; this.app = fastify_1.default({ logger: { level: logLevel }, bodyLimit: 1024 * 1024 * 100 }); this.app.register(routes_1.registerRoutes, { prefix: config_1.copperConfig.value.routesPrefix }); this.app.register(websockets_1.registerWebsocket, sessionManager_1.sessionManager); this.app.register(commands_1.webdriver, { prefix: `${config_1.copperConfig.value.routesPrefix}session/:sessionId/` }); this.app.register(errors_1.registerErrorHandler); } async listen() { return await this.app.listen(this.port, '0.0.0.0'); } async stop() { return await Promise.race([this.app.close(), utils_1.delay(5000)]); } } exports.StandaloneServer = StandaloneServer; //# sourceMappingURL=server.js.map