🚨 Active Supply Chain Attack:node-ipc Package Compromised.Learn More
Socket
Book a DemoSign in
Socket

@appsensorlike/appsensorlike_exec_mode_websocket_client_node

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@appsensorlike/appsensorlike_exec_mode_websocket_client_node

AppSensorLike execution mode over websocket; client part

latest
Source
npmnpm
Version
0.30.3
Version published
Maintainers
1
Created
Source

@appsensorlike/appsensorlike client over websocket. Please note that this code runs on node only.

Installation

npm i @appsensorlike/appsensorlike_exec_mode_websocket_client_node

Usage

Please mind, that for this example your module has to install also @appsensorlike/appsensorlike_exec_mode_websocket_server.

Please consider how the client is authenticated and authorized in @appsensorlike/appsensorlike_exec_mode_websocket_server.

import { AppSensorWebsocketExecClient } from '@appsensorlike/appsensorlike_exec_mode_websocket_client_node';
import { AppSensorWebsocketExecServer } from '@appsensorlike/appsensorlike_exec_mode_websocket_server';
import { AppSensorEvent, Category, DetectionPoint, DetectionSystem, User } from "@appsensorlike/appsensorlike/core/core.js";

const appSensorWebsocketExecServer = 
        new AppSensorWebsocketExecServer('appsensor-server-config.json',
                                'appsensor-websocket-request-handler-config.json');
await appSensorWebsocketExecServer.startWebSocketServer();

const appSensorWebsocketExecClient = 
        new AppSensorWebsocketExecClient(null,
                                         'appsensor-websocket-event-manager-config.json');
const connected = await appSensorWebsocketExecClient.connectWebSocket();
//you are now able to get instance of AppSensorClient respectivly EventManager and to send events to the server
const eventManager = appSensorWebsocketExecClient.getAppSensorClient().getEventManager();

//following lines are added just for purpose of demonstration
//
const user1 = new User("user1");
const detectionPoint = new DetectionPoint(Category.REQUEST, "RE7");
const detectionSystem = new DetectionSystem("localhostme");

if (eventManager) {
    await eventManager.addEvent(new AppSensorEvent(user1, detectionPoint, detectionSystem)); 
    await eventManager.addEvent(new AppSensorEvent(user1, detectionPoint, detectionSystem)); //new instance every time to set timestamp
}

await appSensorWebsocketExecClient.closeWebSocket();
await appSensorWebsocketExecServer.closeWebSocketServer();

Here it is an example when your client runs along with your app on a separate node instance. Before running the code you have to have running server, which will accept your requests.

Please consider how the client is authenticated and authorized in @appsensorlike/appsensorlike_exec_mode_websocket_server.

import { AppSensorWebsocketExecClient } from '@appsensorlike/appsensorlike_exec_mode_websocket_client_node';
import { AppSensorEvent, Category, DetectionPoint, DetectionSystem, User } from "@appsensorlike/appsensorlike/core/core.js";

const appSensorWebsocketExecClient = 
        new AppSensorWebsocketExecClient(null,
                                         'appsensor-websocket-event-manager-config.json');
const connected = await appSensorWebsocketExecClient.connectWebSocket();
//you are now able to get instance of AppSensorClient respectivly EventManager and to send events to the server
const eventManager = appSensorWebsocketExecClient.getAppSensorClient().getEventManager();

//following lines are added just for purpose of demonstration
//
const user1 = new User("user1");
const detectionPoint = new DetectionPoint(Category.REQUEST, "RE7");
const detectionSystem = new DetectionSystem("localhostme");

if (eventManager) {
    await eventManager.addEvent(new AppSensorEvent(user1, detectionPoint, detectionSystem)); 
    await eventManager.addEvent(new AppSensorEvent(user1, detectionPoint, detectionSystem)); //new instance every time to set timestamp
}

await appSensorWebsocketExecClient.closeWebSocket();

Configuration

You can configure the url to send request to and websocket options via AppSensorWebsocketExecClient constructor or configure it in appsensor-websocket-event-manager-config.json file in the working directory. You can copy the default configuration from this module's dist/execution-modes/appsensor-websocket/client-node/event. Corresponding schema file appsensor-websocket-client-config_schema.json is in the same directory.
The default url is ws://localhost:4500 . The implementation takes advantage of WS websocket module so you could check for websocket options here https://github.com/websockets/ws/blob/HEAD/doc/ws.md#new-websocketaddress-protocols-options .

For example in your appsensor-websocket-event-manager-config.json:

{
    "address": "ws://localhost:4500",
    "options":{
        "headers": {
            "X-Appsensor-Client-Application-Name": "myclientapp"
        }
    }
}

TypeScript support

You need TypeScript version >= 4.7 in order the paths exported by the module to be resolved.

Keywords

js

FAQs

Package last updated on 08 Apr 2025

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