@tonoid/express
v1.1.1
Published
Express plugin for @tonoid/helpers
Downloads
26
Maintainers
Readme
@tonoid/express
Express plugin for @tonoid/helpers
Init options
port
: (Number, defaults:process.env.EXPRESS_PORT || process.env.PORT || 80
) Express http port.host
: (String, defaults:process.env.EXPRESS_HOST || '0.0.0.0
) Express http host.extraFirstMiddlewares(app, { express })
: (Function) Extra Middle to add just after the express initilizationextraMiddlewaresAfterEndpoint(app, { express })
: (Function) Extra Middle to add to the express app after endpointsextraMiddlewaresAfterNotFound(app, { express })
: (Function) Extra Middle to add to the express app after handling 404extraMiddlewaresAfterError(app, { express })
: (Function) Extra Middle to add to the express app after handling errornotFoundHandler(isHTML)(res, req)
: (Function) Page not found handlerisHTML
: (Boolean, default:false
) If the error message should render in HTMLjsonLog
: (Boolean, default:process.env.NODE_ENV === 'production
) If we want to output the logs in JSON format (useful when we use Stackdriver)endpoints
: (defaults:[]
):endpoints[].path
: Endpoint pathendpoints[].handler
: Endpoint handler (function)
rawBodyEndpoints
: (defaults:[]
): List of endpoints that need raw body (useful for stripe webhook, or file uploads)enableJsonBody
: (default:true
)enableFormBody
: (default:true
)enableCookies
: (default:true
)enableHealth
: (default:true
)enableCompression
: (default:true
)removeTrailingSlashes
: (default:true
)timeout
: (default:90s
)
Environment variables
EXPRESS_HOST
: (default:0.0.0.0
) HTTP hostEXPRESS_PORT
: (default:80
) HTTP portEXPRESS_RAW_LIMIT
: (default:50mb
) Limit for raw body parserEXPRESS_JSON_LIMIT
: (default:10mb
) Limit for json body parserEXPRESS_BODY_LIMIT
: (default:10mb
) Limit for body body parserEXPRESS_TIMEOUT
: (default:90s
) Timeout to answer
Exported context attributes
.close()
: Close mongo client.app
: Express app instance.httpServer
: http server instance
Handler available parameters
.getRouter()
: Get database instance.throwError()
: Throw an error with errorCode (HTTP code).app
: Express app instance.asyncHandler()
: Async handler alias
Usage example
You may check a full example on the folder example
.
const { init } = require('@tonoid/helpers');
const express = require('@tonoid/express');
const rootHandler = ({ getRouter, asyncHandler }) => {
const router = getRouter();
router.get('/', asyncHandler((req, res) => {
return { root: true };
}));
router.get('/foo', asyncHandler((req, res) => {
return { foo: true };
}));
return router;
};
init([
express({
port: 3000,
endpoints: [
{
path: '/',
handler: rootHandler,
},
],
}),
]);
Credits
This module is maintained by Simo Elalj @tonoid