currency

command module
v0.0.0-...-4a9730e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 7, 2020 License: MIT Imports: 7 Imported by: 0

README

Currency Service

The currency service is a gRPC service which provides up to date exchange rates and currency conversion capabilities.

Building protos

To build the gRPC client and server interfaces, first install protoc:

Linux
sudo apt install protobuf-compiler
Mac
brew install protoc

Then install the Go gRPC plugin:

go get google.golang.org/grpc

Then run the build command:

protoc -I protos/ protos/currency.proto --go_out=plugins=grpc:protos/currency

Testing

To test the system install grpccurl which is a command line tool which can interact with gRPC API's

https://github.com/fullstorydev/grpcurl

go install github.com/fullstorydev/grpcurl/cmd/grpcurl
List Services
grpcurl --plaintext localhost:9092 list
Currency
grpc.reflection.v1alpha.ServerReflection
List Methods
grpcurl --plaintext localhost:9092 list Currency
Currency.GetRate
Method detail for GetRate
grpcurl --plaintext localhost:9092 describe Currency.GetRate
Currency.GetRate is a method:
rpc GetRate ( .RateRequest ) returns ( .RateResponse );
RateRequest detail
grpcurl --plaintext localhost:9092 describe .RateRequest
RateRequest is a message:
message RateRequest {
  string Base = 1 [json_name = "base"];
  string Destination = 2 [json_name = "destination"];
}
Execute a request
grpcurl --plaintext -d '{"base": "GBP", "destination": "USD"}' localhost:9092 Currency/GetRate
{
  "rate": 0.5
}

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
protos

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL