
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
loopback-grpc
Advanced tools
The @loopback/grpc component enables LoopBack 4 as a gRPC Server. Also it provides with a gRPC decorator to define your RPC Method implementations from your Application Controllers.
Install the @loopback/grpc component in your LoopBack 4 Application.
npm install --save loopback4-extension-grpc.git
import {Application} from '@loopback/core';
import {GrpcComponent, Config} from '@loopback/grpc';
import {GreeterCtrl} from './controllers/greeter/greeter.ctrl';
// Grpc Configurations are optional.
const config: Config.Component = {
/* Optional Configs */
};
// Pass the optional configurations
const app = new Application({
grpc: config,
});
// Add Grpc as Component
app.component(GrpcComponent);
// Bind GreeterCtrl to the LoopBack Application
app.controller(GreeterCtrl);
// Start App
app.start();
The @loopback/grpc extension provides you with auto-generated interfaces and configurations for strict development.
The extension will automatically look for proto files within your project structure, creating the corresponding typescript interfaces.
Example:
- app
| - controllers
| | - greeter
| | | - greeter.proto
| | | - greeter.ctrl.ts
Once you start your app for first time it will automatically create your typescript interfaces from the greeter.proto file.
- app
| - controllers
| | - greeter
| | | - greeter.proto
| | | - greeter.proto.ts <--- Auto-generated
| | | - greeter.ctrl.ts
Once your interfaces and configurations are created, you can start building your controller logic.
The @loopback/grpc component provides you with a handy decorator to implement GRPC Methods within your LoopBack controllers.
app/controllers/greeter/greeter.ctrl.ts
import {grpc} from '@loopback/grpc';
import {Greeter, HelloRequest, HelloReply} from '/greeter.proto';
/**
* @class GreeterCtrl
* @description Implements grpc proto service
**/
export class GreeterCtrl implements Greeter.Service {
// Tell LoopBack that this is a Service RPC implementation
@grpc(Greeter.SayHello)
sayHello(request: HelloRequest): HelloReply {
return {message: 'Hello ' + request.name};
}
}
app/controllers/greeter/greeter.proto
syntax = "proto3";
package greeterpackage;
service Greeter {
// Sends a greeting
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
Get started by either downloading this project or cloning it as follows:
git clone https://github.com/strongloop/loopback4-extension-grpc.git
cd loopback4-extension-grpc && npm install
run npm test from the root folder.
See all contributors.
MIT
FAQs
A gRPC extension for LoopBack Next
We found that loopback-grpc demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.