Socket
Socket
Sign inDemoInstall

rw-api-microservice-node

Package Overview
Dependencies
169
Maintainers
7
Versions
56
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    rw-api-microservice-node

Integration library for the RW API microservice


Version published
Weekly downloads
6
increased by200%
Maintainers
7
Created
Weekly downloads
 

Readme

Source

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

Keywords

FAQs

Last updated on 08 Aug 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc