diff options
author | EuAndreh <eu@euandre.org> | 2024-03-06 12:19:42 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2024-03-06 12:19:42 -0300 |
commit | d866862275d2d131db47cc0ed767ac2df0661a2d (patch) | |
tree | 6c924620ba49531dcfd28d12d0770619ec393d37 /src | |
parent | src/hero.mjs: Add makeLineEmitter() (diff) | |
download | papod-d866862275d2d131db47cc0ed767ac2df0661a2d.tar.gz papod-d866862275d2d131db47cc0ed767ac2df0661a2d.tar.xz |
src/hero.mjs: Add skeleton for makePipeReaderFn()
Diffstat (limited to 'src')
-rw-r--r-- | src/hero.mjs | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/hero.mjs b/src/hero.mjs index 8cbbe36..0a086ad 100644 --- a/src/hero.mjs +++ b/src/hero.mjs @@ -357,6 +357,17 @@ export const makeLineEmitter = fn => { }; }; +export const makePipeReaderFn = ({ + lineFn, +} = { + lineFn: lineHandler +}) => path => { + mkfifo(path); + // TODO +}; + +export const makePipeReader = makePipeReaderFn(); + export const buildRoutes = (routes, globalInterceptors = []) => routes.reduce( (acc, [methods, path, handlerFn, interceptors = []]) => @@ -374,12 +385,16 @@ export const buildRoutes = (routes, globalInterceptors = []) => export const promisifyServer = (name, serverHandle) => ({ ref: serverHandle, - listen: util.promisify((udsPath, ...args) => { + listen: util.promisify((socket, pipe, ...args) => { + assert.equal(typeof socket, "string"); + assert.equal(typeof pipe, "string"); configLogger({ name }); - if (fs.existsSync(udsPath)) { - fs.unlinkSync(udsPath); - } - return serverHandle.listen(udsPath, ...args) + + rmIf(pipe); + makePipeReader(pipe); + + rmIf(socket); + return serverHandle.listen(socket, ...args) }), close: util.promisify((...args) => serverHandle.close(...args)), events: serverHandle, |