Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/brunonunes/moleculer-grpc-api

gRPC server for Moleculer API Gateway
https://github.com/brunonunes/moleculer-grpc-api

Last synced: 2 months ago
JSON representation

gRPC server for Moleculer API Gateway

Awesome Lists containing this project

README

        

# moleculer-grpc-api

[Moleculer gRPC API](https://grpc.io/) mixin for [Moleculer API Gateway](https://github.com/moleculerjs/moleculer-web)

## Features

## Install
```
npm i moleculer-grpc-api moleculer-web
```

## Usage
This example demonstrates how to setup a Moleculer API Gateway with gRPC mixin in order to handle incoming gRPC requests.

```js
"use strict";

const { GrpcService } = require("moleculer-grpc-api");

module.exports = {
name: "grpc",

mixins: [

// gRPC Server
GrpcService({

// Directory with you .proto files
directory: `${dirname}/../protos`,

// gRPC port. Default: 50051
port: ``

// List of actions available. ${protoPackage}.${protoService}/${serviceName}: ${moleculerService}.${moculerAction}
aliases: {
'helloworld.Greeter': {
'sayHello': 'greeter.sayHello'
}
},

// Authentication action to populate ctx.user using header
authentication: {
action: "user.currentUser",
params: {
accessToken: "Authorization"
}
},
})
]
};

```

Start your Moleculer project and send gRPC requests.

# Contribution
Please send pull requests improving the usage and fixing bugs, improving documentation and providing better examples, or providing some testing, because these things are important.

# License
The project is available under the [MIT license](https://tldrlegal.com/license/mit-license).