Wechaty Puppet Service gRPC API
Project description
Wechaty GRPC
gRPC for Wechaty Puppet Service
USAGE
Node.js
Maintainer:
- @huan - Huan LI (李卓桓)
Python
Maintainer:
- @wj-Mcat - Jingjing WU (吴京京)
Go
Maintainer:
- @dchaofei - Chaofei DING (丁超飞)
Java
https://mvnrepository.com/artifact/io.github.wechaty/grpc
Maven:
<dependency>
<groupId>io.github.wechaty</groupId>
<version>0.11.25</version>
<artifactId>grpc</artifactId>
</dependency>
Gradle:
compile 'io.github.wechaty:grpc:0.11.25'
Maintainer:
- @diaozxin007 - Zhengxin DIAO (刁政欣)
PHP
Maintainer:
- @zhangchunsheng - Chunsheng ZHANG (张春生)
Csharp
Maintainer:
- @Darren - Darren (郑波)
DEVELOPMENT
Debug
-
GUI Client for GRPC Services - BloomRPC aim to give the simplest and efficient developer experience for exploring and querying your GRPC services.(Inspired by Postman and GraphQL Playground)
-
A gRPC CLI interface for easy testing against gRPC servers with Node.js REPL
grpcc --proto ./service/myservice.proto --address 127.0.0.1:3466
Build
./scripts/install-protoc.sh
npm install
Generate Stubs
npm run generate
1. JS for Protocol Buffer
protoc \
--js_out="import_style=commonjs,binary:${OUT_DIR}"
2. JS for gRPC Stubs
protoc \
--plugin="protoc-gen-grpc=`which grpc_tools_node_protoc_plugin`" \
--grpc_out="${OUT_DIR}"
3. TypeScript Typing Definations for Protocol Buffer & gRPC Stubs
protoc \
--plugin="protoc-gen-grpc=node_modules/grpc_tools_node_protoc_ts/bin/protoc-gen-ts" \
--grpc_out="${OUT_DIR}"
4. JS & TS for gRPC Web
protoc \
--plugin="protoc-gen-ts=node_modules/ts-protoc-gen/bin/protoc-gen-ts" \
--ts_out="service=true:${OUT_DIR}"
OpenAPI
Thanks for the ecosystem of gRPC, we can generate OpenAPI Specification from our gRPC proto definitions automatically.
We are using gRPC to JSON proxy generator following the gRPC HTTP spec as the OpenAPI Specification generator (protoc-gen-openapiv2), and using Like grpc-gateway, but written in node and dynamic project to serve a HTTP RESTful API to gRPC proxy.
Image credit: grpc-gateway
Learn more about the RESTful API service for Wechaty from Wechaty OpenAPI.
gRPC Web
RESOURCES
Documentation
- Protocol Buffers Language Guide (proto3)
- Google Protocol Buffers Style Guide
- Protocol Buffers for TypeScript with Decorators
- Troubleshooting gRPC
- gRPC environment variables
- How to Interact With and Debug a gRPC Server
Links
- 探讨gRPC的Node技术生态及实现工具
- gRPC Basics - Node.js
- Building a gRPC service with Node.js
- gRPC in 3 minutes (Node.js)
- Listen gRPC and HTTP requests on the same port
- gRPC to JSON proxy generator following the gRPC HTTP spec
- 如何在 Node.js 中更优雅地使用 gRPC:grpc-helper
Protocol Buffer
- Protocol Buffers for JavaScript (& TypeScript)
- Missing value/null support for scalar value types in proto 3
- How to Make a Nullable Field in Proto3 for a HTTP Response?
gRPC Web
- gRPC-Web: Moving past REST+JSON towards type-safe Web APIs
- Library for making gRPC-Web requests intended for TypeScript from either a browser or Node.js.
TypeScript Generator
- A Typescript definition file generator for gRPC services
- gRPC Web TypeScript Code Generation
- Protocol Buffers Compiler (protoc) plugin for TypeScript and gRPC-Web.
Zoo Keeper
STUN
- How To TCP NAT Traversal using Node.js and a STUN Server
- chownat, allows two peers behind two separate NATs to directly communicate with each other.
- What is STUN & TURN Server
- NPM Search for: NAT Traversal
- NAT traversal by way of UPnP or NAT-PMP
- How To TCP NAT Traversal using Node.js and a STUN Server
- STUN, TURN, and ICE - AnyConnect pioneered the STUN, TURN, and ICE NAT Traversal protocols
- What are STUN, TURN, and ICE?
- Set Phasers to STUN/TURN: Getting Started with WebRTC using Node.js, Socket.io and Twilio’s NAT Traversal Service
TCP hole punching
Reverse Engineering
Python Stub
CSharp grpc
- An introduction to NuGet (microsoft)
- Create a gRPC client and server in ASP.NET Core (microsoft)
- ASP.NET Core 3.0 使用gRPC (晓晨Master)
HISTORY
master
v0.20 (Feb 21, 2021)
- Rename NPM module name from
@chatie/grpc
towechaty-grpc
- Add OpenAPI annotations & generators for supporting https://github.com/wechaty/openapi
- Code clean.
v0.18 (Oct 15, 2020)
- Add new
MessageFileStream
andMessageImageStream
to replace theMessageFile
andMessageImage
method to avoid blocking nodejs event loop when sending large files (#88) by @windmemory - Add new
MessageSendFileStream
to replace theMessageSendFile
method to avoid blocking nodejs event loop when sending large files (#89) by @windmemory
v0.17 (Aug 5, 2020)
- Add PHPH Support (#76 #78) by @zhangchunsheng
- Publish PHP Module at https://github.com/wechaty/php-grpc
v0.13 (Apr 19, 2020)
- Add Java Support (#52 #53 by @diaozxin007)
- Publish Java Module at Open Source Project Repository HostingOSSRH-56843 - Release the Chatie/grpc Java Client
v0.11 (Apr 10, 2020)
v0.6 (Feb 2020)
- Align gRPC Services with Wechaty Puppet Abstraction
- Add Unit Tests
v0.2 (Jul 2018)
- Automatic Generating gRPC Stubs
- Publish to NPM
v0.0.1 (May 2018)
Initial commiit
MAINTAINER
Huan LI (李卓桓), Google Developer Expert in Machine Learning (ML GDE), zixia@zixia.net
COPYRIGHT & LICENSE
- Code & Docs © 2018-now Huan LI <zixia@zixia.net>
- Code released under the Apache-2.0 License
- Docs released under Creative Commons
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file wechaty-grpc-0.20.19.tar.gz
.
File metadata
- Download URL: wechaty-grpc-0.20.19.tar.gz
- Upload date:
- Size: 26.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a23ed51921b2ada126dca1a11d12b46367826a1844a96a774864f972cec87cf |
|
MD5 | 3602154b25436621dac7d9e5f9940014 |
|
BLAKE2b-256 | aca8a2f8a4e8fa41f2acc9a6d746d62eb2f382f65942229984a5eaceb522ddab |
File details
Details for the file wechaty_grpc-0.20.19-py3-none-any.whl
.
File metadata
- Download URL: wechaty_grpc-0.20.19-py3-none-any.whl
- Upload date:
- Size: 23.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b28d7647224a1f8ecee66b3d95a1af69fb2deebcc677d8b8d6ff310f5eab18c |
|
MD5 | 1e9e7d76c573cdd3201bcf4b60b5bb60 |
|
BLAKE2b-256 | 087ac41e73344bdd63b7d7decf5f3f99107c477987d29e8f5520f5c32df2d42b |