UNPKG

dino-express

Version:

DinO enabled REST framework based on express

64 lines 3.69 kB
{ "application": { "name": "The name of the application, will be used as identifier for logging, events and any other identification based activities, if not provided defaults to OpenAPI info.title field" }, "dino": { "active": { "profiles": "activate one or more runtime profiles, if more than one needs to be activated, provide a comma separated list of active profiles" }, "api": { "validation": { "enabled": "true|false flag enable or disable api request/response validation", "configuration": "an object providing express-openapi-validator validation options" }, "handler": { "type": "defines how parameters are provided to the method handling the request, valid options are proxy and request. if set to proxy destructured properties will be provided" } }, "cloud": { "integration": "define the integration type when deployed as a lambda integrating with AWS API Gateway, allowed values are method default, or proxy", "provider": "The cloud provider, supported are aws and google", "service": "The cloud service used to run the application, supported value are lambda for aws and function for google, running as a standalone application does not require this configuration" }, "environment": "define the environment the application is running on", "openapi": { "descriptor": { "path": "The routing configuration path", "provider": "The provider for the openapi configuration only supported is filesystem" } }, "security": { "enabled": "true|false flag enables security aspects, this feature is under active implementation, additional features will come", "https": { "enabled": "a flag indicating if https should be configured", "config": "HTTPS configuration object accepts all configuration provided by https module as defined at https://nodejs.org/api/https.html#httpscreateserveroptions-requestlistener" } }, "observability": { "enabled": "true|false enable or disable application observability, application lifecycle events", "eventEmitter": "the name of the event emitter to use, defaults to logEventEmitter, the name will be used to resolve the instance from the application context meaning that a configuration class should be created that makes the eventEmitter available", "batchSize": "the number of application event to batch before emitting, defaults to 1" }, "server": { "docs": "the path for the swagger-ui, defaults to /api-docs", "expose": "the type of apis exposed by the application valid values are api, event, mixed", "monitoring": { "enabled": "true|false flag enables application monitoring, when enabled a new /monit endpoint is automatically exposed", "co2": "true|false flag enables co2 emission monitoring" }, "payloadSize": "the maximum size for the payload, default to 100kb", "path": "the base path for the server defaults to /", "port": "the port the server will be exposed, defaults to 3030", "request": { "forceBase64Decode": { "enabled": "true|false flag enables force decode the first level of the incoming request if encoded as base64, decompress and parse from JSON if needed. Assumes that the string is compressed and after base64 encoded", "paths": "array of paths to decode" } }, "response": { "asBase64": "true|false flag enables encoding response as base64" }, "type": "The type of exposed server, valid options are standalone and embedded, deprecated options are express and serverless" } } }