All Projects → oslabs-beta → Tropicrpc

oslabs-beta / Tropicrpc

Licence: mit
A VS Code extension that provides gRPC API endpoint testing.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Tropicrpc

meshRPC
Automatic Service Mesh and RPC generation for Go micro services, it's a humble alternative to gRPC with Istio.
Stars: ✭ 69 (-56.33%)
Mutual labels:  grpc, rpc-framework
Gorums
Gorums simplify fault-tolerant quorum-based protocols
Stars: ✭ 113 (-28.48%)
Mutual labels:  grpc, rpc-framework
Armeria
Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.
Stars: ✭ 3,392 (+2046.84%)
Mutual labels:  grpc, rpc-framework
Purerpc
Asynchronous pure Python gRPC client and server implementation supporting asyncio, uvloop, curio and trio
Stars: ✭ 125 (-20.89%)
Mutual labels:  grpc, rpc-framework
Nrpc
nRPC is like gRPC, but over NATS
Stars: ✭ 440 (+178.48%)
Mutual labels:  grpc, rpc-framework
Sea
rpc framework built on grpc
Stars: ✭ 132 (-16.46%)
Mutual labels:  grpc, rpc-framework
Grpc Caller
An improved Node.js gRPC client
Stars: ✭ 151 (-4.43%)
Mutual labels:  grpc
Vscode Tlaplus
TLA+ language support for Visual Studio Code
Stars: ✭ 152 (-3.8%)
Mutual labels:  vscode-extension
Keras Serving
bring keras-models to production with tensorflow-serving and nodejs + docker 🍕
Stars: ✭ 150 (-5.06%)
Mutual labels:  grpc
Vscode Powertools
A swiss army knife with lots of tools, extensions and (scriptable) enhancements for Visual Studio Code.
Stars: ✭ 150 (-5.06%)
Mutual labels:  vscode-extension
Dotnet Etcd
A C# .NET (dotnet) GRPC client for etcd v3 +
Stars: ✭ 157 (-0.63%)
Mutual labels:  grpc
Vscodethemes
Themes for Visual Studio Code
Stars: ✭ 155 (-1.9%)
Mutual labels:  vscode-extension
Cete
Cete is a distributed key value store server written in Go built on top of BadgerDB.
Stars: ✭ 153 (-3.16%)
Mutual labels:  grpc
Grpc Spring Boot Starter
Spring Boot starter module for gRPC framework.
Stars: ✭ 2,190 (+1286.08%)
Mutual labels:  grpc
Grpc Streaming Demo
A quick demo of bi-directional streaming RPC's using grpc, go and python3
Stars: ✭ 154 (-2.53%)
Mutual labels:  grpc
Plasma
universal server push middleware by using gRPC stream and Server Sent Events(SSE)
Stars: ✭ 151 (-4.43%)
Mutual labels:  grpc
Vscode Codeql
An extension for Visual Studio Code that adds rich language support for CodeQL
Stars: ✭ 154 (-2.53%)
Mutual labels:  vscode-extension
Zeebe
Distributed Workflow Engine for Microservices Orchestration
Stars: ✭ 2,165 (+1270.25%)
Mutual labels:  grpc
Kailua
🌴 Type Checker and IDE Support for Lua
Stars: ✭ 152 (-3.8%)
Mutual labels:  vscode-extension
Geodb
A Persistent Geospatial Database with Geofencing & Google Maps Support
Stars: ✭ 155 (-1.9%)
Mutual labels:  grpc

What is tropicRPC? 🍍

A Visual Studio Code extension that provides gRPC Remote Procedure Call (gRPC) API endpoint testing.

Core Features ⚡️

  • Starts your gRPC server
  • Generates a configuration file within the open VS Code project to be populated with the user's server and request information
  • On save, tropicRPC will make a remote procedure call (RPC) from an auto-generated client
  • tropicRPC supports the following RPC types:
    • unary
    • client-streaming
    • server-streaming
    • bidirectional streaming
  • The server response is displayed in the VS Code tropicRPC output channel

Getting Started

Installation

tropicRPC can be installed from the VS Code Extensions Marketplace here.

Setting up the config file

Open the command palette in VS Code (Cmd/Ctrl + Shift + P) and select tropicRPC: Create Config File. A default config file will be generated. Follow the instructions in the config object to update the entry, portNumber, ipAddress, protoFile, and protoPackage.

config demo gif

tropicRPC's mock API

A mock gRPC API was built for testing tropicRPC during development. This mock API is open-sourced for users to test the tropicRPC extension. It's available in this GitHub repository.

Write Your First tropicRPC gRPC Request

  1. Search for tropicRPC using the VS Code Command Palette (Cmd/Ctrl + Shift + P) and run the tropicRPC: Activate command.

  2. In the 'request' object, set the values of the 'service', 'method', and 'message' properties appropriately.

  3. On every config file save, tropicRPC will send the request(s) and display your server results in the output channel.

    • For unary and server-streaming RPCs, add fields as properties on request object
    • For client-streaming and bidirectional RPCs, add each stream as an object nested under the request object
// add config details here
const config = {
  // OPTIONAL: change './server/index.js' to the relative path from the root directory to the file that starts your server
  // or '' if you do not need tropicRPC to start your server
  entry: './server/index.js',

  // OPTIONAL: change 3000 to the port number on which your server runs
  portNumber: 3000,

  // OPTIONAL: populate '' with the IP address of your server (exclude portNumber)
  ipAddress: '',

  // change './demo.proto' to the relative path from the root directory to your proto file
  protoFile: 'src/proto/demo.proto',

  // change 'protoPackage' to your proto package's name
  protoPackage: 'protoPackage',
};

// after activating tropicRPC extension, add request(s) here and save this file to execute
const requests = {
  // customize your request values below
  request1: {
    service: 'serviceName',
    method: 'unaryMethod',
    message: {
      field1: 0,
      field2: 'Hello World',
    },
  },
  Request2: {
    service: 'serviceName',
    method: 'clientStreamingMethod',
    message: {
      0: {
        field1: 0,
        field2: 'Hello World',
      },
      1: {
        field1: 1,
        field2: 'Bye World',
      },
    },
  },
  // add additional request objects below, as necessary, using the above format
};
request demo gif

Ending Your tropicRPC Session

When you are ready to end your session, search for tropicRPC using the VS Code Command Palette (Cmd/Ctrl + Shift + P) and run the tropicRPC: Deactivate command. Deactivating the extension will stop your server.

Troubleshooting: Changing Your Server Path

After initially setting your server path, any additional updates to the path will require the extension to be deactivated and then reactivated for changes to take effect.

Future Features 🍹

  • [ ] Support for additional metadata in request
  • [ ] Predictive text for services and methods
  • [ ] Schema / service method preview via hovering
  • [ ] Auto-identification of gRPC requests
  • [ ] Historical log of all requests and responses

Built By 💛

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].