mirror of
https://github.com/autistic-symposium/backend-and-orchestration-toolkit.git
synced 2025-06-08 23:13:08 -04:00
merge files from the blockchain infra repo (#59)
This commit is contained in:
parent
23f56ef195
commit
2a6449bb85
346 changed files with 29097 additions and 132 deletions
38
code/protocol_demos/grpc-demo/server.js
Normal file
38
code/protocol_demos/grpc-demo/server.js
Normal file
|
@ -0,0 +1,38 @@
|
|||
const grpc = require("grpc");
|
||||
const protoLoader = require("@grpc/proto-loader")
|
||||
const packageDef = protoLoader.loadSync("todo.proto", {});
|
||||
const grpcObject = grpc.loadPackageDefinition(packageDef);
|
||||
const todoPackage = grpcObject.todoPackage;
|
||||
|
||||
const server = new grpc.Server();
|
||||
server.bind("0.0.0.0:40000",
|
||||
grpc.ServerCredentials.createInsecure());
|
||||
|
||||
server.addService(todoPackage.Todo.service,
|
||||
{
|
||||
"createTodo": createTodo,
|
||||
"readTodos" : readTodos,
|
||||
"readTodosStream": readTodosStream
|
||||
});
|
||||
server.start();
|
||||
|
||||
const todos = []
|
||||
function createTodo (call, callback) {
|
||||
const todoItem = {
|
||||
"id": todos.length + 1,
|
||||
"text": call.request.text
|
||||
}
|
||||
todos.push(todoItem)
|
||||
callback(null, todoItem);
|
||||
}
|
||||
|
||||
function readTodosStream(call, callback) {
|
||||
|
||||
todos.forEach(t => call.write(t));
|
||||
call.end();
|
||||
}
|
||||
|
||||
|
||||
function readTodos(call, callback) {
|
||||
callback(null, {"items": todos})
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue