diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/hero.mjs | 15 | ||||
-rw-r--r-- | src/web.mjs | 23 |
2 files changed, 29 insertions, 9 deletions
diff --git a/src/hero.mjs b/src/hero.mjs index 0a086ad..699e426 100644 --- a/src/hero.mjs +++ b/src/hero.mjs @@ -383,11 +383,12 @@ export const buildRoutes = (routes, globalInterceptors = []) => {} ); -export const promisifyServer = (name, serverHandle) => ({ +export const promisifyServer = (name, serverHandle, socket, pipe) => ({ ref: serverHandle, - listen: util.promisify((socket, pipe, ...args) => { + listen: util.promisify((...args) => { assert.equal(typeof socket, "string"); assert.equal(typeof pipe, "string"); + configLogger({ name }); rmIf(pipe); @@ -400,9 +401,15 @@ export const promisifyServer = (name, serverHandle) => ({ events: serverHandle, }); -export const buildServer = (name, routes, globalInterceptors = defaultInterceptors) => { +export const buildServer = ({ + name, + routes = [], + socket = `${name}.socket`, + pipe = `${name}.pipe`, + globalInterceptors = defaultInterceptors, +}) => { const table = buildRoutes(routes, globalInterceptors); const requestListener = makeRequestListener(table); const server = http.createServer(requestListener); - return promisifyServer(name, server); + return promisifyServer(name, server, socket, pipe); }; diff --git a/src/web.mjs b/src/web.mjs index 23ae5ff..4c3e621 100644 --- a/src/web.mjs +++ b/src/web.mjs @@ -6,13 +6,26 @@ const getProduct = req => ({ status: 200, body: "PRODUTO" }); const getSocket = req => ({ status: 200, body: "SOCKET" }); -const server = hero.buildServer("papo", [ +const name = "papo"; + +const routes = [ [ "GET", "/api/products", listProducts ], [ "GET", "/api/products/:id", getProduct ], [ "GET", "/api/socket", getSocket ], -]); +]; -export const app = async (...args) => { - await server.listen(...args); - hero.log.info({ type: "starting-server", args }); +export const app = async (socket, pipe) => { + const server = hero.buildServer({ + name, + routes, + socket, + pipe, + }); + await server.listen(); + hero.log.info({ + type: "starting-server", + name, + socket, + pipe, + }); }; |