Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

expressify-ipc

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

expressify-ipc

An Expressify strategy enabling RESTful application over a local socket transport.

  • 1.0.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
6
increased by100%
Maintainers
1
Weekly downloads
 
Created
Source

expressify-ipc

An Expressify strategy enabling RESTful application over a local socket transport.

CodeFactor

Current version: 1.0.4

Lead Maintainer: Halim Qarroum

Table of contents

Install

npm install --save expressify-ipc

Features

  • Supports Linux, MacOS and Windows.
  • Based on Unix or Windows local sockets for better throughput.
  • Supports observation of resources through local sockets.

Usage

In order to use expressify-ipc, you need to create an instance of the strategy and pass it to an expressify client or server. You must pass to the constructor of expressify-ipc an options object containing two parameters :

  • endpoint (String) - Uniquely identifies the server endpoint to connect to.
  • namespace (String) - The namespace used to partition communucation on the local socket.

Creating a client

The below example shows you how to create an instance of an Expressify client using the ipc strategy.

// Creating the `client` instance.
const client = new Expressify.Client({
  strategy: new IpcStrategy({
    endpoint: 'expressify.server',
    namespace: 'foo'
  })
});

Creating a server

The below example shows you how to create an instance of an Expressify server using the ipc strategy.

// Creating the `server` instance.
const server = new Expressify.Server({
  strategy: new IpcStrategy({
    endpoint: 'expressify.server',
    namespace: 'foo'
  })
});

// Listening for incoming requests.
server.listen().then(() => {
  console.log(`[+] The server is listening on namespace '${server.strategy.opts.topic}' !`);
});

Closing expressify-ipc

Since the expressify-ipc module uses IPC local socket communication, it is required to make sure that, when done using the server or the client, you properly release the resources that have been allocated to them.

Closing the server

Here, you simply have to call the .close() API on the server instance as you would usually do it with any expressify strategy. THis will close the local socket on which the strategy is communicating.

server.close().then(() => console.log('Server instance closed'));

Closing the client

When done with a client instance, you need to explicitely close it using the .close() API on the client instance.

client.close().then(() => console.log('Client instance closed'));

If you do not close the client on Node.js, the event loop will continue running since the local socket associated with the strategy which the client is using is still opened.

See how the client is properly closed in the examples associated with the expressify-ipc strategy.

Examples

Two functional examples involving the expressify-ipc strategy are available in the examples directory :

  • Remote storage - Demonstrates how to use expressify-ipc to expose a REST interface on the server which can store in memory a set of key-value pairs, and on the client on how to query this service remotely over local sockets.
  • System monitoring - Shows you how to use expressify-ipc to expose system metrics on the server and to display them to the user on the client.

See also

Keywords

FAQs

Package last updated on 02 Jun 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc