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

@appsensorlike/appsensorlike_exec_mode_rest_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_rest_client_node

AppSensorLike execution mode REST; client part for node

latest
Source
npmnpm
Version
0.30.1
Version published
Weekly downloads
21
-22.22%
Maintainers
1
Weekly downloads
 
Created
Source

@appsensorlike/appsensorlike http/s client consuming the web service as defined in https://owasp.org/www-pdf-archive/Owasp-appsensor-guide-v2.pdf under Chapter 20. Please note that this code runs on node only.

Installation

npm i @appsensorlike/appsensorlike_exec_mode_rest_client_node

Usage

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

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

import { AppSensorRestClient } from '@appsensorlike/appsensorlike_exec_mode_rest_client_node';
import { AppSensorRestServer } from '@appsensorlike/appsensorlike_exec_mode_rest_server';
import { AppSensorEvent, Category, DetectionPoint, DetectionSystem, User } from "@appsensorlike/appsensorlike/core/core.js";

const appSensorRestServer = 
        new AppSensorRestServer('appsensor-server-config.json',
                                'appsensor-rest-request-handler-config.json');
await appSensorRestServer.initStartServer();

const appSensorRestClient = 
        new AppSensorRestClient('',
                                'appsensor-rest-request-event-config.json');
//you are now able to get instance of AppSensorClient respectivly EventManager and to send events to the server
const eventManager = appSensorRestClient.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
}

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_rest_server.

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

const appSensorRestClient = 
        new AppSensorRestClient('',
                                'appsensor-rest-request-event-config.json');
//you are now able to get instance of AppSensorClient respectivly EventManager and to send events to the server
const eventManager = appSensorRestClient.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
}

Configuration

You can pass the url to send request to in the AppSensorRestClient constructor or configure it in appsensor-rest-request-event-config.json file in the working directory. You can copy the default configuration from this module's dist/execution-modes/appsensor-rest/client-node/event. Corresponding schema file appsensor-rest-client-config_schema.json is in the same directory. The default url is http://localhost:8080 .

For example in your reporting config file appsensor-rest-request-event-config.json

{
    "serverConnection": {
        "url": "http://localhost:8080",
        "type": "REST",
        "clientApplicationIdentificationHeaderValue": "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 06 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