This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"scripts": { | |
"grpc-client": "node ./client.js", | |
"grpc-server": "node ./server.js" | |
}, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const grpc = require('@grpc/grpc-js'); | |
const protoLoader = require('@grpc/proto-loader'); | |
const packageDefinition = protoLoader.loadSync('./proto/bookStore.proto', {}); | |
const bookStorePackage = grpc.loadPackageDefinition(packageDefinition).bookStorePackage; | |
// Create a server | |
const server = new grpc.Server(); | |
// Add the service | |
server.addService(bookStorePackage.Book.service, { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const grpc = require('@grpc/grpc-js'); | |
const protoLoader = require('@grpc/proto-loader'); | |
const packageDefinition = protoLoader.loadSync('./proto/bookStore.proto', {}); | |
const bookStorePackage = grpc.loadPackageDefinition(packageDefinition).bookStorePackage; | |
const client = new bookStorePackage.Book('localhost:50051', grpc.credentials.createInsecure()); | |
client.createBook({ 'id': -1, 'book': 'Cracking the Interview' }, (err, response) => { | |
if (err) { | |
console.log(err); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ npm install @grpc/grpc-js @grpc/proto-loader |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const grpc = require('@grpc/grpc-js'); | |
const protoLoader = require('@grpc/proto-loader'); | |
const packageDefinition = protoLoader.loadSync('./proto/bookStore.proto', {}); | |
const bookStorePackage = grpc.loadPackageDefinition(packageDefinition).bookStorePackage; | |
// Create a server | |
const server = new grpc.Server(); | |
// Add the service | |
server.addService(bookStorePackage.BookStore.service, { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
syntax = 'proto3'; | |
package bookStorePackage; | |
// Our Book service definition. | |
service Book { | |
rpc createBook (BookItem) returns (BookItem); | |
rpc readBook (BookRequest) returns (BookItem); | |
rpc readBooks (Empty) returns (BooksList); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const axios = require('axios') | |
const promises = [ | |
axios('/https://dog.ceo/api/breeds/list/all') | |
.then(() => 'a') | |
.catch((error) => console.log(error)), | |
axios('https://dog.ceo/api/breed/hound/images') | |
.then(() => 'b') | |
.catch((error) => console.log(error)), | |
axios('/https://dog.ceo/api/breeds/image/random') |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import axios = from 'axios'; | |
const { data } = await axios('https://dog.ceo/api/breeds/image/random'); | |
console.log(data); | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const axios = require('axios') | |
const main = async () => { | |
const { data } = await axios('https://dog.ceo/api/breeds/image/random') | |
console.log(data) | |
} | |
main() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const { PassThrough, Transform } = require("stream"); | |
const splitData = new Transform({ | |
readableObjectMode: true, | |
transform(chunk, encoding, callback) { | |
this.push(chunk.toString().trim().split(",")); | |
callback(); | |
}, | |
}); |