1.0.1 • Published 5 years ago

upstream-api v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
5 years ago

upstream-api

This creates a locally hosted upstream API, for use in testing.

Usage

const needle = require('needle');
const { startServer } = require('upstream-api');
const config = require('testapi-config.json');

startServer(config);

const res = await needle('get', 'http://localhost:8000/test');

// res.status: 200
// res.headers: { 'x-correlation-id': 'abc123' }
// res.body: {
//   success: true,
//   foo: 'bar'
// }

Config

These are the possible configuration options:

namedescriptionexamplerequired
portThe port to host the server on8000yes
endpointsAn array of endpoints to host on the serversee full exampleyes
endpointsn.pathThe path (without '/') of the endpoint'test'yes
endpointsn.methodThe method of the endpoint'get'yes
endpointsn.statusThe statusCode to be returned200yes
endpointsn.delayThe delay (in ms) of the endpoint200no
endpointsn.bodyThe response body to be returned{ foo: 'bar' }no
endpointsn.headersAn array of headers to be set on the response{ 'x-correlation-id': 'abc123' }no

Example Config

Config

{
  "port": 8000,
  "endpoints": [
    {
      "path": "test",
      "method": "get",
      "status": 200,
      "delay": 200,
      "body": {
        "success": true,
        "foo": "bar"
      },
      "headers": [
        { "x-correlation-id": "abc123" }
      ]
    }
  ]
}