Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mercari/widebullet

Widebullet is an API gateway with JSON-RPC
https://github.com/mercari/widebullet

api-gateway json-rpc

Last synced: about 2 months ago
JSON representation

Widebullet is an API gateway with JSON-RPC

Awesome Lists containing this project

README

        

# Widebullet

[![Go Report Card](https://goreportcard.com/badge/github.com/mercari/widebullet)](https://goreportcard.com/report/github.com/mercari/widebullet)

Widebullet is [JSON-RPC](http://www.jsonrpc.org/) base API gateway server. It implements [JSON-RPC batch](http://www.jsonrpc.org/specification#batch) endpoints with extended format for HTTP REST requests (see [SPEC](/SPEC.md)). For example, it receives one single JSON-RPC array which defines multiple HTTP requests and converts it into multiple concurrent HTTP requests. If you have multiple backend microservices and need to request them at same time for one transaction, Widebullet simplifies it.

# Status

Production ready.

# Requirement

Widebullet requires Go1.8 or later.

# Installation

Widebullet provides a executable named `wbt` to kick server. To install `wbt`, use `go get`,

```
$ go get -u github.com/mercari/widebullet/...
```

# Usage

To run `wbt`, you must provide configuration path via `-c` option (See [CONFIGURATION.md](/CONFIGURATION.md)) about details and [`config/example.toml`](/config/example.toml) for example usage.

```
$ wbt -c config/example.toml
```

Use `-help` to see more options.

# Configuration

See [CONFIGURATION.md](/CONFIGURATION.md) about details.

# Specification

See [SPEC.md](/SPEC.md) about details.

# Committers

* Tatsuhiko Kubo [@cubicdaiya](https://github.com/cubicdaiya)

# Contribution

Please read the CLA below carefully before submitting your contribution.

https://www.mercari.com/cla/

# License

Copyright 2016 Mercari, Inc.

Licensed under the MIT License.