Skip to main content

WebdaConfiguration

@webda/shell • Readme | API


Class: WebdaConfiguration

Extends​

Constructors​

new WebdaConfiguration(application)​

new WebdaConfiguration(application): WebdaConfiguration

Parameters​

• application: Application

Returns​

WebdaConfiguration

Overrides​

WebdaServer.constructor

Source​

packages/shell/src/handlers/config.ts:132

Properties​

_ajv​

protected _ajv: Ajv

JSON Schema validator instance

Inherited from​

WebdaServer._ajv

Source​

packages/core/lib/core.d.ts:216


_ajvSchemas​

protected _ajvSchemas: Object

JSON Schema registry Save if a schema was added to Ajv already

Index signature​

[key: string]: true

Inherited from​

WebdaServer._ajvSchemas

Source​

packages/core/lib/core.d.ts:221


_configFile​

protected _configFile: string

Inherited from​

WebdaServer._configFile

Source​

packages/core/lib/core.d.ts:228


_currentExecutor​

protected _currentExecutor: any

Current executor

Inherited from​

WebdaServer._currentExecutor

Source​

packages/core/lib/core.d.ts:227


_init​

protected _init: Promise<void>

Init promise to ensure, webda is initiated Used for init() method

Inherited from​

WebdaServer._init

Source​

packages/core/lib/core.d.ts:207


_initPromise​

protected _initPromise: Promise<void>

Contains the current initialization process

Inherited from​

WebdaServer._initPromise

Source​

packages/core/lib/core.d.ts:232


_initTime​

protected _initTime: number

When the Core was initialized

Inherited from​

WebdaServer._initTime

Source​

packages/core/lib/core.d.ts:236


_initiated​

protected _initiated: boolean

If Core is already initiated

Inherited from​

WebdaServer._initiated

Source​

packages/core/lib/core.d.ts:196


_requestCORSFilters​

protected _requestCORSFilters: RequestFilter<WebContext<any, any>>[]

CORS Filter registry

Added via [[Webda.registerCORSRequestFilter]] See [[CorsFilter]]

Inherited from​

WebdaServer._requestCORSFilters

Source​

packages/core/lib/core.d.ts:255


_requestFilters​

protected _requestFilters: RequestFilter<WebContext<any, any>>[]

Request Filter registry

Added via [[Webda.registerRequestFilter]] See [[CorsFilter]]

Inherited from​

WebdaServer._requestFilters

Source​

packages/core/lib/core.d.ts:248


application​

protected application: Application

Application that generates this Core

Inherited from​

WebdaServer.application

Source​

packages/core/lib/core.d.ts:188


cryptoService​

protected cryptoService: default<CryptoServiceParameters>

Manage encryption within the application

Inherited from​

WebdaServer.cryptoService

Source​

packages/core/lib/core.d.ts:273


devMode​

protected devMode: boolean

Inherited from​

WebdaServer.devMode

Source​

packages/shell/src/handlers/http.ts:27


failedServices​

protected failedServices: Object

Services who failed to create or initialize

Index signature​

[key: string]: any

Inherited from​

WebdaServer.failedServices

Source​

packages/core/lib/core.d.ts:200


globalContext​

protected globalContext: GlobalContext

System context

Inherited from​

WebdaServer.globalContext

Source​

packages/core/lib/core.d.ts:306


interuptables​

interuptables: Object[]

Inherited from​

WebdaServer.interuptables

Source​

packages/core/lib/core.d.ts:310


operations​

protected operations: Object

Contains all operations defined by services

Index signature​

[key: string]: OperationDefinitionInfo

Inherited from​

WebdaServer.operations

Source​

packages/core/lib/core.d.ts:277


registry​

protected registry: Store<any, StoreParameters, StoreEvents>

Application registry

Inherited from​

WebdaServer.registry

Source​

packages/core/lib/core.d.ts:269


resourceService​

protected resourceService: default<ResourceServiceParameters>

Resource services used to serve static content

Inherited from​

WebdaServer.resourceService

Source​

packages/shell/src/handlers/http.ts:33


router​

protected router: Router

Router that will route http request in

Inherited from​

WebdaServer.router

Source​

packages/core/lib/core.d.ts:192


serverStatus​

protected serverStatus: ServerStatus = ServerStatus.Stopped

Inherited from​

WebdaServer.serverStatus

Source​

packages/shell/src/handlers/http.ts:28


subnetChecker​

protected subnetChecker: (address) => boolean

Parameters​

• address: string

Returns​

boolean

Inherited from​

WebdaServer.subnetChecker

Source​

packages/shell/src/handlers/http.ts:29


webdaApplication​

webdaApplication: Application

Source​

packages/shell/src/handlers/config.ts:130


captureRejectionSymbol​

static readonly captureRejectionSymbol: typeof captureRejectionSymbol

Inherited from​

WebdaServer.captureRejectionSymbol

Source​

packages/shell/node_modules/@types/node/events.d.ts:328


captureRejections​

static captureRejections: boolean

Sets or gets the default captureRejection value for all emitters.

Inherited from​

WebdaServer.captureRejections

Source​

packages/shell/node_modules/@types/node/events.d.ts:333


defaultMaxListeners​

static defaultMaxListeners: number

Inherited from​

WebdaServer.defaultMaxListeners

Source​

packages/shell/node_modules/@types/node/events.d.ts:334


errorMonitor​

static readonly errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. Listeners installed using this symbol are called before the regular 'error' listeners are called.

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted, therefore the process will still crash if no regular 'error' listener is installed.

Inherited from​

WebdaServer.errorMonitor

Source​

packages/shell/node_modules/@types/node/events.d.ts:327

Methods​

addListener()​

addListener(eventName, listener): this

Alias for emitter.on(eventName, listener).

Parameters​

• eventName: string | symbol

• listener: (...args) => void

Returns​

this

Inherited from​

WebdaServer.addListener

Since​

v0.1.26

Source​

packages/shell/node_modules/@types/node/events.d.ts:354


addRoute()​

addRoute(url, info): void

Add a route dynamicaly

Parameters​

• url: string

of the route can contains dynamic part like {uuid}

• info: RouteInfo

the type of executor

Returns​

void

Inherited from​

WebdaServer.addRoute

Source​

packages/core/lib/core.d.ts:506


callOperation()​

callOperation(context, operationId): Promise<any>

Call an operation within the framework

Parameters​

• context: OperationContext<any, any>

• operationId: string

Returns​

Promise<any>

Inherited from​

WebdaServer.callOperation

Source​

packages/core/lib/core.d.ts:442


checkCORSRequest()​

protected checkCORSRequest(ctx): Promise<boolean>

Verify if an origin is allowed to do request on the API

Parameters​

• ctx: WebContext<any, any>

Returns​

Promise<boolean>

Inherited from​

WebdaServer.checkCORSRequest

Source​

packages/core/lib/core.d.ts:709


checkOperation()​

checkOperation(context, operationId): Promise<void>

Check if an operation can be executed with the current context

Parameters​

• context: OperationContext<any, any>

• operationId: string

Returns​

Promise<void>

Inherited from​

WebdaServer.checkOperation

Source​

packages/core/lib/core.d.ts:438


checkOperationPermission()​

checkOperationPermission(context, operationId): boolean

Check if an operation can be executed with the current context Not checking the input use checkOperation instead to check everything

Parameters​

• context: OperationContext<any, any>

• operationId: string

Returns​

boolean

true if operation can be executed

Inherited from​

WebdaServer.checkOperationPermission

Throws​

OperationError if operation is unknown

Source​

packages/core/lib/core.d.ts:432


checkRequest()​

protected checkRequest(ctx): Promise<boolean>

Verify if a request can be done

Parameters​

• ctx: WebContext<any, any>

Returns​

Promise<boolean>

Inherited from​

WebdaServer.checkRequest

Source​

packages/core/lib/core.d.ts:703


createService()​

protected createService(services, service): void

Parameters​

• services: any

• service: string

Returns​

void

Inherited from​

WebdaServer.createService

Source​

packages/core/lib/core.d.ts:615


emit()​

emit<K>(eventType, event?, ...data?): boolean

Type parameters​

• K extends keyof CoreEvents

Parameters​

• eventType: string | symbol | K

• event?: CoreEvents[K]

• ...data?: any[]

Returns​

boolean

Inherited from​

WebdaServer.emit

Source​

packages/core/lib/core.d.ts:675


emitSync()​

emitSync<K>(eventType, event?, ...data?): Promise<any[]>

Emit the event with data and wait for Promise to finish if listener returned a Promise

Type parameters​

• K extends keyof CoreEvents

Parameters​

• eventType: symbol | K

• event?: CoreEvents[K]

• ...data?: any[]

Returns​

Promise<any[]>

Inherited from​

WebdaServer.emitSync

Source​

packages/core/lib/core.d.ts:679


eventNames()​

eventNames(): (string | symbol)[]

Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

const EventEmitter = require('events');
const myEE = new EventEmitter();
myEE.on('foo', () => {});
myEE.on('bar', () => {});

const sym = Symbol('symbol');
myEE.on(sym, () => {});

console.log(myEE.eventNames());
// Prints: [ 'foo', 'bar', Symbol(symbol) ]

Returns​

(string | symbol)[]

Inherited from​

WebdaServer.eventNames

Since​

v6.0.0

Source​

packages/shell/node_modules/@types/node/events.d.ts:669


exportOpenAPI()​

exportOpenAPI(skipHidden?): Document<Object>

Export OpenAPI

Parameters​

• skipHidden?: boolean

Returns​

Document<Object>

Inherited from​

WebdaServer.exportOpenAPI

Source​

packages/core/lib/core.d.ts:715


flush()​

flush(ctx): void

Parameters​

• ctx: WebContext<any, any>

Returns​

void

Inherited from​

WebdaServer.flush

Source​

packages/shell/src/handlers/http.ts:262


flushHeaders()​

flushHeaders(ctx): void

Parameters​

• ctx: WebContext<any, any>

Returns​

void

Inherited from​

WebdaServer.flushHeaders

Source​

packages/shell/src/handlers/http.ts:241


getApiUrl()​

getApiUrl(subpath?): string

Get absolute url with subpath

Parameters​

• subpath?: string

Returns​

string

Inherited from​

WebdaServer.getApiUrl

Source​

packages/core/lib/core.d.ts:379


getAppPath()​

getAppPath(subpath?): string

Return application path with subpath

Helper that redirect to this.application.getAppPath

Parameters​

• subpath?: string

Returns​

string

Inherited from​

WebdaServer.getAppPath

Source​

packages/core/lib/core.d.ts:388


getApplication()​

getApplication(): Application

Return application definition

Returns​

Application

Inherited from​

WebdaServer.getApplication

Source​

packages/core/lib/core.d.ts:396


getBeans()​

getBeans(): any

Returns​

any

Inherited from​

WebdaServer.getBeans

Source​

packages/core/lib/core.d.ts:616


getBinaryStore()​

getBinaryStore<T>(modelOrConstructor, attribute): BinaryService<BinaryParameters, BinaryEvents>

Get the service that manage a model

Type parameters​

• T extends CoreModel

Parameters​

• modelOrConstructor: T | Constructor<T>

• attribute: string

Returns​

BinaryService<BinaryParameters, BinaryEvents>

Inherited from​

WebdaServer.getBinaryStore

Source​

packages/core/lib/core.d.ts:368


getConfiguration()​

getConfiguration(): Configuration

Returns​

Configuration

Inherited from​

WebdaServer.getConfiguration

Source​

packages/core/lib/core.d.ts:538


getContextFromRequest()​

getContextFromRequest(req, res?): Promise<WebContext<any, any>>

Return a Context object based on a request

Parameters​

• req: IncomingMessage

to initiate object from

• res?: ServerResponse<IncomingMessage>

to add for body

Returns​

Promise<WebContext<any, any>>

Inherited from​

WebdaServer.getContextFromRequest

Source​

packages/shell/src/handlers/http.ts:76


getCrypto()​

getCrypto(): default<CryptoServiceParameters>

Return the crypto service

Returns​

default<CryptoServiceParameters>

Inherited from​

WebdaServer.getCrypto

Source​

packages/core/lib/core.d.ts:631


getGlobalContext()​

getGlobalContext(): GlobalContext

Get the system context

Returns​

GlobalContext

Inherited from​

WebdaServer.getGlobalContext

Source​

packages/core/lib/core.d.ts:587


getGlobalParams()​

getGlobalParams(): any

Return the global parameters of a domain

Returns​

any

Inherited from​

WebdaServer.getGlobalParams

Source​

packages/core/lib/core.d.ts:582


getInstanceId()​

getInstanceId(): string

Return Core instance id

It is a random generated string

Returns​

string

Inherited from​

WebdaServer.getInstanceId

Source​

packages/core/lib/core.d.ts:374


getLocales()​

getLocales(): string[]

To define the locales just add a locales: ['en-GB', 'fr-FR'] in your host global configuration

Returns​

string[]

The configured locales or "en-GB" if none are defined

Inherited from​

WebdaServer.getLocales

Source​

packages/core/lib/core.d.ts:494


getLogger()​

getLogger(clazz): Logger

Get a Logger for a class

Parameters​

• clazz: string | Service<ServiceParameters, Events>

Returns​

Logger

Inherited from​

WebdaServer.getLogger

Source​

packages/core/lib/core.d.ts:499


getMaxListeners()​

getMaxListeners(): number

Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.

Returns​

number

Inherited from​

WebdaServer.getMaxListeners

Since​

v1.0.0

Source​

packages/shell/node_modules/@types/node/events.d.ts:526


getMetric()​

getMetric<T>(type, configuration): T

Get a metric object

Use the Service.getMetric method if possible

This is map from prometheus 3 types of metrics Our hope is that we can adapt them to export to other metrics system if needed

Type parameters​

• T = Gauge<string> | Counter<string> | Histogram<string>

Parameters​

• type: Constructor<T, [MetricConfiguration<T, string>]>

• configuration: MetricConfiguration<T, string>

Returns​

T

Inherited from​

WebdaServer.getMetric

Source​

packages/core/lib/core.d.ts:729


getModel()​

getModel<T>(name): CoreModelDefinition<T>

Check for a model name and return the wanted class or throw exception if none found

Type parameters​

• T extends CoreModel = CoreModel

Parameters​

• name: any

The model name to retrieve

Returns​

CoreModelDefinition<T>

Inherited from​

WebdaServer.getModel

Source​

packages/core/lib/core.d.ts:558


getModelObject()​

getModelObject<T>(fullUuid, partials?): Promise<T>

Get an object from the application based on its full uuid

Type parameters​

• T extends CoreModel = CoreModel

Parameters​

• fullUuid: string

• partials?: any

Returns​

Promise<T>

Inherited from​

WebdaServer.getModelObject

Source​

packages/core/lib/core.d.ts:411


getModelStore()​

getModelStore<T>(modelOrConstructor): Store<T, StoreParameters, StoreEvents>

Get the store assigned to this model

Type parameters​

• T extends CoreModel

Parameters​

• modelOrConstructor: T | Constructor<T>

Returns​

Store<T, StoreParameters, StoreEvents>

Inherited from​

WebdaServer.getModelStore

Source​

packages/core/lib/core.d.ts:361


getModels()​

getModels(): Object

Return a map of defined models

Returns​

Object

Inherited from​

WebdaServer.getModels

Source​

packages/core/lib/core.d.ts:550


getModules()​

getModules(): CachedModule

Retrieve all detected modules definition

Returns​

CachedModule

Inherited from​

WebdaServer.getModules

Source​

packages/core/lib/core.d.ts:392


getRegistry()​

getRegistry(): Store<any, StoreParameters, StoreEvents>

A registry is a predefined store

Returns​

Store<any, StoreParameters, StoreEvents>

Inherited from​

WebdaServer.getRegistry

Source​

packages/core/lib/core.d.ts:626


getRouter()​

getRouter(): Router

Return current Router object

Returns​

Router

Inherited from​

WebdaServer.getRouter

Source​

packages/core/lib/core.d.ts:516


getServerStatus()​

getServerStatus(): ServerStatus

Get server status

Returns​

ServerStatus

Inherited from​

WebdaServer.getServerStatus

Source​

packages/shell/src/handlers/http.ts:340


getService()​

getService<T>(name?): T

Check for a service name and return the wanted singleton or undefined if none found

Type parameters​

• T extends Service<ServiceParameters, Events>

Parameters​

• name?: string

The service name to retrieve

Returns​

T

Inherited from​

WebdaServer.getService

Source​

packages/core/lib/core.d.ts:522


getServiceParams()​

getServiceParams(service, configuration?): any

Get a full resolved service parameter

Parameters​

• service: string

• configuration?: Object

• configuration.parameters?: any

• configuration.services?: any

Returns​

any

Inherited from​

WebdaServer.getServiceParams

Source​

packages/core/lib/core.d.ts:611


getServices()​

getServices(): Object

Return a map of defined services

Returns​

Object

Inherited from​

WebdaServer.getServices

Source​

packages/core/lib/core.d.ts:527


getServicesOfType()​

getServicesOfType<T>(type?): Object

Return a map of services that extends type

Type parameters​

• T extends Service<ServiceParameters, Events>

Parameters​

• type?: Constructor<T, [Core<CoreEvents>, string, any]>

The type of implementation

Returns​

Object

Inherited from​

WebdaServer.getServicesOfType

Source​

packages/core/lib/core.d.ts:535


getStores()​

getStores(): Object

Return a map of defined stores

Returns​

Object

Inherited from​

WebdaServer.getStores

Source​

packages/core/lib/core.d.ts:543


getUuid()​

getUuid(format?): string

Return a UUID

Parameters​

• format?: "ascii" | "base64" | "binary" | "hex" | "uuid"

to return different type of format Plan to implement base64 and maybe base85

Returns​

string

Inherited from​

WebdaServer.getUuid

Source​

packages/core/lib/core.d.ts:671


getVersion()​

getVersion(): string

Return webda current version

Returns​

string

package version

Inherited from​

WebdaServer.getVersion

Since​

0.4.0

Source​

packages/core/lib/core.d.ts:488


getWebdaApplication()​

getWebdaApplication(): Application

Returns​

Application

Source​

packages/shell/src/handlers/config.ts:137


getWorkerOutput()​

getWorkerOutput(): WorkerOutput

Get WorkerOutput

Returns​

WorkerOutput

Inherited from​

WebdaServer.getWorkerOutput

Source​

packages/core/lib/core.d.ts:400


handleRequest()​

handleRequest(req, res): Promise<void>

Manage the request

Parameters​

• req: IncomingMessage

• res: ServerResponse<IncomingMessage>

Returns​

Promise<void>

Inherited from​

WebdaServer.handleRequest

Source​

packages/shell/src/handlers/http.ts:132


init()​

init(): Promise<void>

Returns​

Promise<void>

Inherited from​

WebdaServer.init

Source​

packages/shell/src/handlers/http.ts:273


initService()​

protected initService(service): Promise<void>

Init one service

Parameters​

• service: string

Returns​

Promise<void>

Inherited from​

WebdaServer.initService

Source​

packages/core/lib/core.d.ts:405


initStatics()​

initStatics(): void

Init services and Beans along with Routes

Returns​

void

Inherited from​

WebdaServer.initStatics

Source​

packages/core/lib/core.d.ts:641


isDebug()​

isDebug(): boolean

Return true if devMode is enabled

Returns​

boolean

Inherited from​

WebdaServer.isDebug

Source​

packages/shell/src/handlers/http.ts:52


isProxyTrusted()​

isProxyTrusted(ip): boolean

Check if a proxy is a trusted proxy

Parameters​

• ip: string

Returns​

boolean

Inherited from​

WebdaServer.isProxyTrusted

Source​

packages/shell/src/handlers/http.ts:65


jsonFilter()​

protected jsonFilter(key, value): any

Parameters​

• key: string

• value: any

Returns​

any

Inherited from​

WebdaServer.jsonFilter

Source​

packages/core/lib/core.d.ts:636


listOperations()​

listOperations(): Object

Get available operations

Returns​

Object

Inherited from​

WebdaServer.listOperations

Source​

packages/core/lib/core.d.ts:447


listenerCount()​

listenerCount(eventName): number

Returns the number of listeners listening to the event named eventName.

Parameters​

• eventName: string | symbol

The name of the event being listened for

Returns​

number

Inherited from​

WebdaServer.listenerCount

Since​

v3.2.0

Source​

packages/shell/node_modules/@types/node/events.d.ts:616


listeners()​

listeners(eventName): Function[]

Returns a copy of the array of listeners for the event named eventName.

server.on('connection', (stream) => {
console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
// Prints: [ [Function] ]

Parameters​

• eventName: string | symbol

Returns​

Function[]

Inherited from​

WebdaServer.listeners

Since​

v0.1.26

Source​

packages/shell/node_modules/@types/node/events.d.ts:539


log()​

log(level, ...args): void

Logs

Parameters​

• level: WorkerLogLevel

• ...args: any[]

Returns​

void

Inherited from​

WebdaServer.log

Source​

packages/core/lib/core.d.ts:693


newContext()​

newContext<T>(info, noInit?): Promise<OperationContext<any, any>>

Get a context based on the info

Type parameters​

• T extends OperationContext<any, any>

Parameters​

• info: ContextProviderInfo

• noInit?: boolean

Returns​

Promise<OperationContext<any, any>>

Inherited from​

WebdaServer.newContext

Source​

packages/core/lib/core.d.ts:647


newWebContext()​

newWebContext<T>(httpContext, stream?, noInit?): Promise<T>

Create a new context for a request

Service

Type parameters​

• T extends WebContext<any, any>

Parameters​

• httpContext: HttpContext

THe HTTP request context

• stream?: Writable

The request output stream if any

• noInit?: boolean

Returns​

Promise<T>

A new context object to pass along

Inherited from​

WebdaServer.newWebContext

Source​

packages/core/lib/core.d.ts:656


off()​

off(eventName, listener): this

Alias for emitter.removeListener().

Parameters​

• eventName: string | symbol

• listener: (...args) => void

Returns​

this

Inherited from​

WebdaServer.off

Since​

v10.0.0

Source​

packages/shell/node_modules/@types/node/events.d.ts:499


on()​

on<Key>(event, listener): this

Type the listener part

Type parameters​

• Key extends keyof CoreEvents

Parameters​

• event: symbol | Key

• listener: (evt) => void

Returns​

this

Inherited from​

WebdaServer.on

Source​

packages/core/lib/core.d.ts:687


onSIGINT()​

onSIGINT(): void

Close server and exit

Returns​

void

Inherited from​

WebdaServer.onSIGINT

Source​

packages/shell/src/handlers/http.ts:331


once()​

once(eventName, listener): this

Adds a one-timelistener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});

Returns a reference to the EventEmitter, so that calls can be chained.

By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the event listener to the beginning of the listeners array.

const myEE = new EventEmitter();
myEE.once('foo', () => console.log('a'));
myEE.prependOnceListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a

Parameters​

• eventName: string | symbol

The name of the event.

• listener: (...args) => void

The callback function

Returns​

this

Inherited from​

WebdaServer.once

Since​

v0.3.0

Source​

packages/shell/node_modules/@types/node/events.d.ts:414


output()​

output(...args): void

Parameters​

• ...args: any[]

Returns​

void

Inherited from​

WebdaServer.output

Source​

packages/shell/src/handlers/http.ts:56


parameter()​

parameter(name): any

Retrieve a global parameter

Parameters​

• name: string

Returns​

any

Inherited from​

WebdaServer.parameter

Source​

packages/core/lib/core.d.ts:697


prependListener()​

prependListener(eventName, listener): this

Adds the listener function to the beginning of the listeners array for the event named eventName. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventNameand listener will result in the listener being added, and called, multiple times.

server.prependListener('connection', (stream) => {
console.log('someone connected!');
});

Returns a reference to the EventEmitter, so that calls can be chained.

Parameters​

• eventName: string | symbol

The name of the event.

• listener: (...args) => void

The callback function

Returns​

this

Inherited from​

WebdaServer.prependListener

Since​

v6.0.0

Source​

packages/shell/node_modules/@types/node/events.d.ts:634


prependOnceListener()​

prependOnceListener(eventName, listener): this

Adds a one-timelistener function for the event named eventName to the beginning of the listeners array. The next time eventName is triggered, this listener is removed, and then invoked.

server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});

Returns a reference to the EventEmitter, so that calls can be chained.

Parameters​

• eventName: string | symbol

The name of the event.

• listener: (...args) => void

The callback function

Returns​

this

Inherited from​

WebdaServer.prependOnceListener

Since​

v6.0.0

Source​

packages/shell/node_modules/@types/node/events.d.ts:650


rawListeners()​

rawListeners(eventName): Function[]

Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

const emitter = new EventEmitter();
emitter.once('log', () => console.log('log once'));

// Returns a new Array with a function `onceWrapper` which has a property
// `listener` which contains the original listener bound above
const listeners = emitter.rawListeners('log');
const logFnWrapper = listeners[0];

// Logs "log once" to the console and does not unbind the `once` event
logFnWrapper.listener();

// Logs "log once" to the console and removes the listener
logFnWrapper();

emitter.on('log', () => console.log('log persistently'));
// Will return a new Array with a single function bound by `.on()` above
const newListeners = emitter.rawListeners('log');

// Logs "log persistently" twice
newListeners[0]();
emitter.emit('log');

Parameters​

• eventName: string | symbol

Returns​

Function[]

Inherited from​

WebdaServer.rawListeners

Since​

v9.4.0

Source​

packages/shell/node_modules/@types/node/events.d.ts:569


registerCORSFilter()​

registerCORSFilter(filter): void

Register a CORS request filtering

Does not apply in devMode

Parameters​

• filter: RequestFilter<WebContext<any, any>>

Returns​

void

Inherited from​

WebdaServer.registerCORSFilter

Source​

packages/core/lib/core.d.ts:469


registerContextProvider()​

registerContextProvider(provider): void

Register a new context provider

Parameters​

• provider: ContextProvider

Returns​

void

Inherited from​

WebdaServer.registerContextProvider

Source​

packages/core/lib/core.d.ts:474


registerOperation()​

registerOperation(operationId, definition): void

Register a new operation within the app

Parameters​

• operationId: string

• definition: OperationDefinition

Returns​

void

Inherited from​

WebdaServer.registerOperation

Source​

packages/core/lib/core.d.ts:455


registerRequestFilter()​

registerRequestFilter(filter): void

Register a request filtering

Will apply to all requests regardless of the devMode

Parameters​

• filter: RequestFilter<WebContext<any, any>>

Returns​

void

Inherited from​

WebdaServer.registerRequestFilter

Source​

packages/core/lib/core.d.ts:462


reinit()​

reinit(updates): Promise<void>

Reinit all services with updated parameters

Parameters​

• updates: any

Returns​

Promise<void>

Inherited from​

WebdaServer.reinit

Source​

packages/core/lib/core.d.ts:603


reinitService()​

protected reinitService(service): Promise<void>

Reinit one service

Parameters​

• service: string

Returns​

Promise<void>

Inherited from​

WebdaServer.reinitService

Source​

packages/core/lib/core.d.ts:597


removeAllListeners()​

removeAllListeners(event?): this

Removes all listeners, or those of the specified eventName.

It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

Returns a reference to the EventEmitter, so that calls can be chained.

Parameters​

• event?: string | symbol

Returns​

this

Inherited from​

WebdaServer.removeAllListeners

Since​

v0.1.26

Source​

packages/shell/node_modules/@types/node/events.d.ts:510


removeListener()​

removeListener(eventName, listener): this

Removes the specified listener from the listener array for the event namedeventName.

const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);

removeListener() will remove, at most, one instance of a listener from the listener array. If any single listener has been added multiple times to the listener array for the specified eventName, then removeListener() must be called multiple times to remove each instance.

Once an event is emitted, all listeners attached to it at the time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution will not remove them fromemit() in progress. Subsequent events behave as expected.

const myEmitter = new MyEmitter();

const callbackA = () => {
console.log('A');
myEmitter.removeListener('event', callbackB);
};

const callbackB = () => {
console.log('B');
};

myEmitter.on('event', callbackA);

myEmitter.on('event', callbackB);

// callbackA removes listener callbackB but it will still be called.
// Internal listener array at time of emit [callbackA, callbackB]
myEmitter.emit('event');
// Prints:
// A
// B

// callbackB is now removed.
// Internal listener array [callbackA]
myEmitter.emit('event');
// Prints:
// A

Because listeners are managed using an internal array, calling this will change the position indices of any listener registered after the listener being removed. This will not impact the order in which listeners are called, but it means that any copies of the listener array as returned by the emitter.listeners() method will need to be recreated.

When a single function has been added as a handler multiple times for a single event (as in the example below), removeListener() will remove the most recently added instance. In the example the once('ping')listener is removed:

const ee = new EventEmitter();

function pong() {
console.log('pong');
}

ee.on('ping', pong);
ee.once('ping', pong);
ee.removeListener('ping', pong);

ee.emit('ping');
ee.emit('ping');

Returns a reference to the EventEmitter, so that calls can be chained.

Parameters​

• eventName: string | symbol

• listener: (...args) => void

Returns​

this

Inherited from​

WebdaServer.removeListener

Since​

v0.1.26

Source​

packages/shell/node_modules/@types/node/events.d.ts:494


removeRoute()​

removeRoute(url): void

Remove a route dynamicly

Parameters​

• url: string

to remove

Returns​

void

Inherited from​

WebdaServer.removeRoute

Source​

packages/core/lib/core.d.ts:512


serve()​

serve(): Promise<void>

Start listening to serve request

Returns​

Promise<void>

Overrides​

WebdaServer.serve

Source​

packages/shell/src/handlers/config.ts:141


setDevMode()​

setDevMode(devMode): void

Toggle DevMode

In DevMode CORS is allowed

Parameters​

• devMode: boolean

Returns​

void

Inherited from​

WebdaServer.setDevMode

Source​

packages/shell/src/handlers/http.ts:41


setGlobalContext()​

setGlobalContext(context): void

Set the system context

Parameters​

• context: GlobalContext

Returns​

void

Inherited from​

WebdaServer.setGlobalContext

Source​

packages/core/lib/core.d.ts:592


setMaxListeners()​

setMaxListeners(n): this

By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.

Returns a reference to the EventEmitter, so that calls can be chained.

Parameters​

• n: number

Returns​

this

Inherited from​

WebdaServer.setMaxListeners

Since​

v0.3.5

Source​

packages/shell/node_modules/@types/node/events.d.ts:520


setModelStore()​

setModelStore(model, store): void

Enforce a specific store for a model

Useful in some specific case when you want to update store dynamically

Parameters​

• model: Constructor<CoreModel>

• store: Store<CoreModel, StoreParameters, StoreEvents>

Returns​

void

Inherited from​

WebdaServer.setModelStore

Source​

packages/core/lib/core.d.ts:355


stop()​

stop(): Promise<void>

Stop the http server

Returns​

Promise<void>

Inherited from​

WebdaServer.stop

Source​

packages/shell/src/handlers/http.ts:388


stopHttp()​

stopHttp(): Promise<void>

Returns​

Promise<void>

Inherited from​

WebdaServer.stopHttp

Source​

packages/shell/src/handlers/http.ts:365


toPublicJSON()​

toPublicJSON(object): string

Convert an object to JSON using the Webda json filter

Service

Parameters​

• object: any

The object to export

Returns​

string

The export of the strip object ( removed all attribute with _ )

Inherited from​

WebdaServer.toPublicJSON

Source​

packages/core/lib/core.d.ts:664


updateContextWithRoute()​

updateContextWithRoute(ctx): boolean

Add to context information and executor based on the http context

Parameters​

• ctx: WebContext<any, any>

Returns​

boolean

Inherited from​

WebdaServer.updateContextWithRoute

Source​

packages/core/lib/core.d.ts:562


validateSchema()​

validateSchema(webdaObject, object, ignoreRequired?): true

Validate the object with schema

Parameters​

• webdaObject: string | CoreModel

• object: any

to validate

• ignoreRequired?: boolean

Returns​

true

Inherited from​

WebdaServer.validateSchema

Source​

packages/core/lib/core.d.ts:481


waitForStatus()​

waitForStatus(status, timeout): Promise<any>

Wait for the server to be in a desired state

Parameters​

• status: Stopped | Started

to wait for

• timeout: number= 60000

max number of ms to wait for

Returns​

Promise<any>

Inherited from​

WebdaServer.waitForStatus

Source​

packages/shell/src/handlers/http.ts:350


get()​

static get(): Core<CoreEvents>

Get the singleton of Webda Core

Returns​

Core<CoreEvents>

Inherited from​

WebdaServer.get

Source​

packages/core/lib/core.d.ts:346


getEventListeners()​

static getEventListeners(emitter, name): Function[]

Returns a copy of the array of listeners for the event named eventName.

For EventEmitters this behaves exactly the same as calling .listeners on the emitter.

For EventTargets this is the only way to get the event listeners for the event target. This is useful for debugging and diagnostic purposes.

const { getEventListeners, EventEmitter } = require('events');

{
const ee = new EventEmitter();
const listener = () => console.log('Events are fun');
ee.on('foo', listener);
getEventListeners(ee, 'foo'); // [listener]
}
{
const et = new EventTarget();
const listener = () => console.log('Events are fun');
et.addEventListener('foo', listener);
getEventListeners(et, 'foo'); // [listener]
}

Parameters​

• emitter: EventEmitter | _DOMEventTarget

• name: string | symbol

Returns​

Function[]

Inherited from​

WebdaServer.getEventListeners

Since​

v15.2.0, v14.17.0

Source​

packages/shell/node_modules/@types/node/events.d.ts:299


getMachineId()​

static getMachineId(): string

Returns​

string

Inherited from​

WebdaServer.getMachineId

Source​

packages/core/lib/core.d.ts:637


listenerCount()​

static listenerCount(emitter, eventName): number

A class method that returns the number of listeners for the given eventNameregistered on the given emitter.

const { EventEmitter, listenerCount } = require('events');
const myEmitter = new EventEmitter();
myEmitter.on('event', () => {});
myEmitter.on('event', () => {});
console.log(listenerCount(myEmitter, 'event'));
// Prints: 2

Parameters​

• emitter: EventEmitter

The emitter to query

• eventName: string | symbol

The event name

Returns​

number

Inherited from​

WebdaServer.listenerCount

Since​

v0.9.12

Deprecated​

Since v3.2.0 - Use listenerCount instead.

Source​

packages/shell/node_modules/@types/node/events.d.ts:271


on()​

static on(emitter, eventName, options?): AsyncIterableIterator<any, any, any>

const { on, EventEmitter } = require('events');

(async () => {
const ee = new EventEmitter();

// Emit later on
process.nextTick(() => {
ee.emit('foo', 'bar');
ee.emit('foo', 42);
});

for await (const event of on(ee, 'foo')) {
// The execution of this inner block is synchronous and it
// processes one event at a time (even with await). Do not use
// if concurrent execution is required.
console.log(event); // prints ['bar'] [42]
}
// Unreachable here
})();

Returns an AsyncIterator that iterates eventName events. It will throw if the EventEmitter emits 'error'. It removes all listeners when exiting the loop. The value returned by each iteration is an array composed of the emitted event arguments.

An AbortSignal can be used to cancel waiting on events:

const { on, EventEmitter } = require('events');
const ac = new AbortController();

(async () => {
const ee = new EventEmitter();

// Emit later on
process.nextTick(() => {
ee.emit('foo', 'bar');
ee.emit('foo', 42);
});

for await (const event of on(ee, 'foo', { signal: ac.signal })) {
// The execution of this inner block is synchronous and it
// processes one event at a time (even with await). Do not use
// if concurrent execution is required.
console.log(event); // prints ['bar'] [42]
}
// Unreachable here
})();

process.nextTick(() => ac.abort());

Parameters​

• emitter: EventEmitter

• eventName: string

The name of the event being listened for

• options?: StaticEventEmitterOptions

Returns​

AsyncIterableIterator<any, any, any>

that iterates eventName events emitted by the emitter

Inherited from​

WebdaServer.on

Since​

v13.6.0, v12.16.0

Source​

packages/shell/node_modules/@types/node/events.d.ts:254


once()​

once(emitter, eventName, options)​

static once(emitter, eventName, options?): Promise<any[]>

Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. The Promise will resolve with an array of all the arguments emitted to the given event.

This method is intentionally generic and works with the web platform EventTarget interface, which has no special'error' event semantics and does not listen to the 'error' event.

const { once, EventEmitter } = require('events');

async function run() {
const ee = new EventEmitter();

process.nextTick(() => {
ee.emit('myevent', 42);
});

const [value] = await once(ee, 'myevent');
console.log(value);

const err = new Error('kaboom');
process.nextTick(() => {
ee.emit('error', err);
});

try {
await once(ee, 'myevent');
} catch (err) {
console.log('error happened', err);
}
}

run();

The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:

const { EventEmitter, once } = require('events');

const ee = new EventEmitter();

once(ee, 'error')
.then(([err]) => console.log('ok', err.message))
.catch((err) => console.log('error', err.message));

ee.emit('error', new Error('boom'));

// Prints: ok boom

An AbortSignal can be used to cancel waiting for the event:

const { EventEmitter, once } = require('events');

const ee = new EventEmitter();
const ac = new AbortController();

async function foo(emitter, event, signal) {
try {
await once(emitter, event, { signal });
console.log('event emitted!');
} catch (error) {
if (error.name === 'AbortError') {
console.error('Waiting for the event was canceled!');
} else {
console.error('There was an error', error.message);
}
}
}

foo(ee, 'foo', ac.signal);
ac.abort(); // Abort waiting for the event
ee.emit('foo'); // Prints: Waiting for the event was canceled!
Parameters​

• emitter: _NodeEventTarget

• eventName: string | symbol

• options?: StaticEventEmitterOptions

Returns​

Promise<any[]>

Inherited from​

WebdaServer.once

Since​

v11.13.0, v10.16.0

Source​

packages/shell/node_modules/@types/node/events.d.ts:194

once(emitter, eventName, options)​

static once(emitter, eventName, options?): Promise<any[]>

Parameters​

• emitter: _DOMEventTarget

• eventName: string

• options?: StaticEventEmitterOptions

Returns​

Promise<any[]>

Inherited from​

WebdaServer.once

Source​

packages/shell/node_modules/@types/node/events.d.ts:195


registerInteruptableProcess()​

static registerInteruptableProcess(interuptable): void

Register a cancelable process

Parameters​

• interuptable: Object

• interuptable.cancel: () => Promise<void>

Returns​

void

Inherited from​

WebdaServer.registerInteruptableProcess

Source​

packages/core/lib/core.d.ts:321


setMaxListeners()​

static setMaxListeners(n?, ...eventTargets?): void

const {
setMaxListeners,
EventEmitter
} = require('events');

const target = new EventTarget();
const emitter = new EventEmitter();

setMaxListeners(5, target, emitter);

Parameters​

• n?: number

A non-negative number. The maximum number of listeners per EventTarget event.

• ...eventTargets?: (EventEmitter | _DOMEventTarget)[]

Returns​

void

Inherited from​

WebdaServer.setMaxListeners

Since​

v15.4.0

Source​

packages/shell/node_modules/@types/node/events.d.ts:317


sleep()​

static sleep(time): Promise<void>

Pause for time ms

Parameters​

• time: any

ms

Returns​

Promise<void>

Inherited from​

WebdaServer.sleep

Source​

packages/core/lib/core.d.ts:423


unregisterInteruptableProcess()​

static unregisterInteruptableProcess(interuptable): void

Unregister a cancelable process

Parameters​

• interuptable: Object

• interuptable.cancel: () => Promise<void>

Returns​

void

Inherited from​

WebdaServer.unregisterInteruptableProcess

Source​

packages/core/lib/core.d.ts:328