summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/hero.mjs15
-rw-r--r--src/web.mjs23
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,
+ });
};