5.1.3 • Published 9 months ago

rw-api-microservice-node v5.1.3

Weekly downloads
591
License
MIT
Repository
-
Last release
9 months ago

RW API microservice utility for Nodejs applications

Build Status Test Coverage

Library to register and integrate microservices in the RW API.

Supports Koa 2.x and 1.x frameworks.

Requirements

  • Nodejs v11 or greater

Install

Using NPM:

npm install --save rw-api-microservice-node

Using Yarn:

yarn add rw-api-microservice-node

Use in microservice

In the listen callback of your Koa application, add the following code snippet:

const Koa = require('koa');
const RWAPIMicroservice = require('rw-api-microservice-node')

const app = new Koa();

app.use(RWAPIMicroservice.bootstrap({
  logger: logger,
  microserviceToken: '<your microservice token>',
  gatewayURL: '<your gateway URL>',
  fasltyEnabled: true,
  fastlyServiceId: '<your Fastly service id>',
  fastlyAPIKey: '<your Fastly API key>',
  awsRegion: '<your AWS region>',
  awsCloudWatchLogStreamName: '<your AWS CloudWatch log stream name>',
}))

// Make sure you add your auth-depending routes *after* bootstraping this module

const server = app.listen(process.env.PORT, () => {
  logger.info('Server started!');
});

Configuration

These are the values you'll need to provide when using this library:

See this link for details on how to get Fastly credentials.

Argument nameTypeDescriptionRequired?Default value
loggerObjectA bunyan logger object, for logging purposesyes
gatewayURLstringThe URL of the API as a whole, where all other services will be reachableyes
microserviceTokenstringJWT token to use on calls to other servicesyes
skipAPIKeyRequirementEndpointsArrayList of object containing a method and pathRegex. Incoming requests that match one of the elements on the list will bypass API Key requirement.no
fastlyEnabledbooleanIf set to true, the Fastly integration will be enabledyes
fastlyServiceIdstringAccess credentials to the Fastly APIif Fastly enabled
fastlyAPIKeystringAccess credentials to the Fastly APIif Fastly enabled
requireAPIKeybooleanIf API keys are required. If set to true, requests with no API key automatically get a HTTP 403 response.notrue
awsCloudWatchLoggingEnabledbooleanIf API key usage should be logged to AWS CloudWatch.notrue
awsRegionstringWhich AWS region to use when logging requests to AWS CloudWatch.yes
awsCloudWatchLogGroupNamestringWhich CloudWatch Log Group name to use when logging requests to AWS CloudWatch.no'api-keys-usage'
awsCloudWatchLogStreamNamestringWhich CloudWatch Log Stream name to use when logging requests to AWS CloudWatch.yes
5.1.3

9 months ago

5.1.2

9 months ago

5.1.1

9 months ago

5.1.0

9 months ago

5.0.0-beta.6

10 months ago

5.0.0-beta.4

10 months ago

5.0.0-beta.5

10 months ago

5.0.0-beta.2

10 months ago

5.0.0-beta.3

10 months ago

5.0.0-rc.1

10 months ago

5.0.0-rc.2

10 months ago

5.0.0-beta.1

10 months ago

5.0.0-rc.3

10 months ago

5.0.0-rc.4

10 months ago

5.0.0-rc.5

10 months ago

5.0.0-rc.6

10 months ago

5.0.0-rc.7

9 months ago

5.1.0-rc.4

9 months ago

5.1.0-rc.3

9 months ago

5.1.0-rc.2

9 months ago

5.1.0-rc.1

9 months ago

4.0.7

2 years ago

4.0.6

2 years ago

4.0.5

2 years ago

4.0.4

2 years ago

4.0.3

3 years ago

4.0.1

3 years ago

4.0.2

3 years ago

4.0.0

3 years ago

3.4.0

3 years ago

3.4.1

3 years ago

3.3.3

3 years ago

3.3.1

3 years ago

3.3.2

3 years ago

3.3.0

3 years ago

3.2.2

3 years ago

3.2.1

3 years ago

3.2.0

3 years ago

3.1.2

3 years ago

3.1.1

3 years ago

3.1.0

3 years ago

3.0.3

3 years ago

3.0.2

3 years ago

3.0.1

3 years ago

3.0.0

3 years ago

2.0.3

3 years ago

2.0.4

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago