1.0.1 • Published 5 years ago
upstream-api v1.0.1
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:
name | description | example | required |
---|---|---|---|
port | The port to host the server on | 8000 | yes |
endpoints | An array of endpoints to host on the server | see full example | yes |
endpointsn.path | The path (without '/') of the endpoint | 'test' | yes |
endpointsn.method | The method of the endpoint | 'get' | yes |
endpointsn.status | The statusCode to be returned | 200 | yes |
endpointsn.delay | The delay (in ms) of the endpoint | 200 | no |
endpointsn.body | The response body to be returned | { foo: 'bar' } | no |
endpointsn.headers | An 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" }
]
}
]
}
1.0.1
5 years ago