hero

Mali

Minimalistic Node.js gRPC microservice framework

Get Started →

Modern JavaScript

Mali is designed for usage with modern asynchronous mechanisms utilizing `Promises` or `async / await`.

Metadata

Mali supports header, trailer, status, and error metadata.

Middleware

Cascading middleware can be composed to extend the minimal core and add additional features.

npm version (opens new window) build status (opens new window) coverage status (opens new window) JavaScript Style Guide (opens new window) License (opens new window) chat on gitter (opens new window) Donate (opens new window) Buy me a coffee (opens new window)

# Full server in a few lines of code...

const Mali = require('mali')

async function sayHello (ctx) {
  ctx.res = { message: 'Hello '.concat(ctx.req.name) }
}

function main () {
  const app = new Mali('helloworld.proto')
  app.use({ sayHello })
  app.start('127.0.0.1:50051')
}

main()