http-micro
Micro-framework on top of node's http module
app;
Installation: npm install http-micro
Highlights
- Written in and works with Typescipt.
- Koa-like contexts that can be generically typed in TS.
- Promises for all middleware.
- In-built body-parsing - but only ever parse the body if you need it, providing better security and performance.
- In-built graceful server shutdown with proper keep-alive handling.
- No monkey-patching Node's http module or any other module.
- Provides middleware chaining and composition over core
http
module. - Awaitable
next
middlewares. So, parent middleware has complete control over the execution of the next middleware. - Just use
async/await
and wrap intry-catch
for error handling. No special quirks or ugly special-case callbacks like Express. - High performance (Combined with bluebird promises, performance is on par with node's raw http module).
- Small code-base.
Example
const micro = ;const url = ; let app = ;// When using Typescript, context can be // generically typed to one that implements// the IContext interface.//// `let app = new micro.Application<MyContext>(// (app, req, res) => new MyContext());`//// Raw node req, and res untouched.// Convenience functions are also provided, used// later in the example. app; app app; let router = ;// When using Typescript, can again be generic,// `let router = new Router<MyContext>();` router; router; router; let router1 = ; router1; let router2 = ; router2; router;router; app; app;