@aimee-blue/ab-service-kit
Version:
Aimee Blue Service Template
1 lines • 1.92 kB
Source Map (JSON)
{"version":3,"sources":["../../src/setup/express.ts"],"names":["setupExpress","server","config","deps","app","use","origin","process","env","CORS_ORIGIN","split","optionsSuccessStatus","endpoints","shouldUseDefaultEndpoints","addListener","removeListener"],"mappings":";;;;;;;AAAA;;AAGA;;AAGA;;;;AAGO,eAAeA,YAAf,CACLC,MADK,EAELC,MAFK,EAGLC,IAHK,EAIqB;AAC1B,QAAMC,GAAG,GAAG,uBAAZ;AAEAA,EAAAA,GAAG,CAACC,GAAJ,CACE,mBAAK;AACHC,IAAAA,MAAM,EAAE,CAACC,OAAO,CAACC,GAAR,CAAYC,WAAZ,IAA2B,EAA5B,EAAgCC,KAAhC,CAAsC,GAAtC,CADL;AAEHC,IAAAA,oBAAoB,EAAE;AAFnB,GAAL,CADF;;AAOA,MAAIT,MAAM,CAACU,SAAX,EAAsB;AACpB,QACE,OAAOV,MAAM,CAACW,yBAAd,KAA4C,SAA5C,IACAX,MAAM,CAACW,yBAFT,EAGE;AACA,uCAAiBT,GAAjB,EAAsBD,IAAtB;AACD;;AACD,UAAMD,MAAM,CAACU,SAAP,CAAiBR,GAAjB,EAAsBD,IAAtB,CAAN;AACD;;AAEDF,EAAAA,MAAM,CAACa,WAAP,CAAmB,SAAnB,EAA8BV,GAA9B;AAEA,SAAO,YAAY;AACjBH,IAAAA,MAAM,CAACc,cAAP,CAAsB,SAAtB,EAAiCX,GAAjC;AACD,GAFD;AAGD","sourcesContent":["import express from 'express';\nimport * as http from 'http';\nimport * as https from 'https';\nimport cors from 'cors';\n\nimport { IServiceConfig, ServiceDeps } from '../shared';\nimport { defaultEndpoints } from '../endpoints';\nimport { TeardownHandler } from '../shared/teardown';\n\nexport async function setupExpress<D>(\n server: http.Server | https.Server,\n config: IServiceConfig<D>,\n deps: ServiceDeps<D>\n): Promise<TeardownHandler> {\n const app = express();\n\n app.use(\n cors({\n origin: (process.env.CORS_ORIGIN || '').split(','),\n optionsSuccessStatus: 200,\n })\n );\n\n if (config.endpoints) {\n if (\n typeof config.shouldUseDefaultEndpoints !== 'boolean' ||\n config.shouldUseDefaultEndpoints\n ) {\n defaultEndpoints(app, deps);\n }\n await config.endpoints(app, deps);\n }\n\n server.addListener('request', app);\n\n return async () => {\n server.removeListener('request', app);\n };\n}\n"],"file":"express.js"}