我如何在Loopback 4中收听Unix套接字?

时间:2019-04-29 20:20:53

标签: node.js loopbackjs strongloop

如何从@ loopback / rest收听带有RestAppliction扩展名的unix套接字?

我仅在文档中找到用于侦听某些IP地址和端口的选项。它是本机还是有一种扩展它的方法,以从nodejs添加httpServer的默认行为,以将unix套接字的路径传递给listen方法?

我已经搜索了堆栈溢出,github存储库,文档,但没有找到与其相关的任何内容。我研究了使用@ loopback / rest用于提供http服务器实现的http-server程序包代码,并且仅发现默认情况下,它仅具有传递主机的ip和端口的选项,而不是unix套接字,但是我做到了'nt看到了一种简单的方法来扩展RestApplication来更改http提供程序。

在我当前拥有的index.js中:

const application = require('./dist');

module.exports = application;

if (require.main === module) {
  // Run the application
  const config = {
    rest: {
      port: +(process.env.PORT || 3000),
      host: process.env.HOST,
      openApiSpec: {
        // useful when used with OASGraph to locate your application
        setServersFromRequest: true,
      },
    },
  };
  application.main(config).catch(err => {
    console.error('Cannot start the application.', err);
    process.exit(1);
  });
}

我和我可以做类似的事情:

// ...
const config = {
  rest: {
    // ...
    socket: '/path/to/unix/socket.sock',
    // ..
  }
  // ..
}
// ..

或者像Express一样传递http服务器的实例:

const server = require('http').createServer();
// ...
const config = {
  rest: {
    // ...
    server
    // ...
  }
  // ...
}

// and then

server.listen('/path/to/socket.sock');

0 个答案:

没有答案