npm.io
0.6.1 • Published 11 years agoCLI

msb-proxies

Licence
MIT
Version
0.6.1
Deps
3
Vulns
0
Weekly
0
Stars
2

msb-proxies Project status

HTTP adapters for microservicebus framework

e.g. http2bus and bus2http

Note

This module has been split into two separate modules, msb-http2bus and [msb-bus2http](https:/ /github.com/tcdl/msb-bus2http). This module will only be available for compatibility and integration tests.

Installation

To use globally from the command line:

$ npm install msb-proxies -g

http2bus

$ http2bus -p 8080 example/http2bus.json

Arguments:

  • -port or -p Default: 0 (random)
  • -dump or -d Default: false – print the config
  • ... Load the config from a JSON or JS file at this path
Configuration

Example:

{
  "channelMonitorEnabled": false,
  "port": 8080,
  "routes": [
    {
      "bus": {
        "namespace": "test:through",
        "responseTimeout": 3000,
        "waitForResponses": 1
      },
      "http": {
        "methods": ["get"],
        "path": "/api/items/:id"
      }
    },

    {
      "bus": { ... },
      "http": {
        "methods": ["post"],
        "baseUrl": "/api",
        "path": "/items"
      }
    }
  ]
}

bus2http

$ bus2http example/http2bus.json

Arguments:

  • -dump or -d Default: false – print the config
  • ... Load the config from a JSON or JS file at this path
Configuration

Example:

{
  "channelMonitorEnabled": false,
  "routes": [
    {
      "bus": {
        "namespace": "test:through"
      },
      "http": {
        "baseUrl": "https://www.google.com"
      }
    }
  ]
}

Docker Container

Building
$ docker build -t msb-proxies .
Running
Tests

With a local Redis container. (See https://github.com/dockerfile/redis)

$ docker run --rm --link redis:redis msb-proxies npm test
http2bus

With a local Redis container and with configuration on host.

(Assuming files exist on the host at /etc/msb-proxies/msb.json and /etc/msb-proxies/http2bus.json.)

$ docker run --name http2bus -d -p 8080:8080 --link redis:redis -v /etc/msb-proxies:/opt/msb-proxies/config msb-proxies bin/http2bus config/http2bus.json
bus2http

With a local Redis container and configuration on host.

(Assuming files exist on the host at /etc/msb-proxies/msb.json and /etc/msb-proxies/bus2http.json.)

$ docker run --name bus2http -d --link redis:redis -v /etc/msb-proxies:/opt/msb-proxies/config msb-proxies bin/bus2http config/bus2http.json