UNPKG

fake-iamport-server

Version:
63 lines (54 loc) 1.33 kB
import { NestFactory } from "@nestjs/core"; import { FastifyAdapter, NestFastifyApplication, } from "@nestjs/platform-fastify"; import { FakeIamportConfiguration } from "./FakeIamportConfiguration"; import { FakeIamportModule } from "./FakeIamportModule"; /** * Fake 아임포트 서버의 백엔드 프로그램. * * @author Samchon */ export class FakeIamportBackend { private application_?: NestFastifyApplication; /** * 서버 개설. */ public async open(): Promise<void> { //---- // OPEN THE BACKEND SERVER //---- // MOUNT CONTROLLERS this.application_ = await NestFactory.create( FakeIamportModule, new FastifyAdapter(), { logger: false }, ); // DO OPEN this.application_.enableCors(); await this.application_.listen( FakeIamportConfiguration.API_PORT, "0.0.0.0", ); //---- // POST-PROCESSES //---- // INFORM TO THE PM2 if (process.send) process.send("ready"); // WHEN KILL COMMAND COMES process.on("SIGINT", async () => { await this.close(); process.exit(0); }); } /** * 서버 폐쇄. */ public async close(): Promise<void> { if (this.application_ === undefined) return; // DO CLOSE await this.application_.close(); delete this.application_; } }