Skip to content

Repository files navigation

rsp-client

Build StatusNPM version

A simple client for the Runtime Server Protocol (RSP) written in typescript.

Implements the API described here and here.

See the RSP repo for further details about RSP.

Installing

npm i rsp-client

Usage

Basic "short" usage example, for full list of available methods, see usage.

import{RSPClient,Protocol,ServerState}from"rsp-client";// Use the host and port your RSP server is running onconstclient=newRSPClient('localhost',27511);// Initiate the connectionawaitclient.connect();// Find suitable server in a directory and use the serverBeans to create a server called myServerconstserverBeans=awaitclient.findServerBeans('path/to/your/server/root');constserverHandle=awaitclient.createServerSync(serverBeans[0],'myServer');// Alternatively, one can create a server directly from a pathconsthandle=awaitclient.createServerSync('path/to/server','server');// All 'sync' methods have an async alternative, in order to see when it completes, subscribe to the appropriate eventclient.onServerAdded((handle)=>{console.log(`Server ${handle.id} created`);});awaitclient.createServerAsync('path/to/server','server');// Starting a server:// subscribe to the server producing outputclient.onServerOutputAppended((output)=>{console.log(output.text);});// subscribe to server state changes to see when it started/stoppedclient.onServerStateChange((state)=>{console.log(`Server state code is ${state.state}`);if(state.state===ServerState.STARTED){console.log('Server started');}elseif(state.state===ServerState.STOPPED){console.log('Server stopped');}});// get the starting parameters, we are using the normal run mode hereconstattributes=awaitclient.getServerRequiredLaunchAttributes({id: handle.id,mode: 'run'});constparams: Protocol.LaunchParameters={mode: 'run',params: {id: handle.id,serverType: handle.type.id,attributes: attributes}};// finally start the serverawaitclient.startServerAsync(params);// Stopping a server, use force at your willawaitclient.stopServerAsync({id: handle.id,force: false});// When all is done you can disconnect the clientclient.disconnect();// or even shut down the entire RSP server instead - don't use disconnect in this caseclient.shutdownServer();

Running unit tests

Unit tests are located in test. To run all unit tests:

npm run test

publish

To publish our module, run the command

npm publish

Build

npm run build

About

No description, website, or topics provided.

Resources

Contributing

Stars

6 stars

Watchers

8 watching

Forks

Releases

Packages

Used by

Contributors

Languages