npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

rw-api-microservice-node

v5.1.3

Published

Integration library for the RW API microservice

Downloads

99

Readme

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 name | Type | Description | Required? | Default value | |--------------------------------|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|-------------------|------------------| | logger | Object | A bunyan logger object, for logging purposes | yes | | | gatewayURL | string | The URL of the API as a whole, where all other services will be reachable | yes | | | microserviceToken | string | JWT token to use on calls to other services | yes | | | skipAPIKeyRequirementEndpoints | Array | List of object containing a method and pathRegex. Incoming requests that match one of the elements on the list will bypass API Key requirement. | no | | | fastlyEnabled | boolean | If set to true, the Fastly integration will be enabled | yes | | | fastlyServiceId | string | Access credentials to the Fastly API | if Fastly enabled | | | fastlyAPIKey | string | Access credentials to the Fastly API | if Fastly enabled | | | requireAPIKey | boolean | If API keys are required. If set to true, requests with no API key automatically get a HTTP 403 response. | no | true | | awsCloudWatchLoggingEnabled | boolean | If API key usage should be logged to AWS CloudWatch. | no | true | | awsRegion | string | Which AWS region to use when logging requests to AWS CloudWatch. | yes | | | awsCloudWatchLogGroupName | string | Which CloudWatch Log Group name to use when logging requests to AWS CloudWatch. | no | 'api-keys-usage' | | awsCloudWatchLogStreamName | string | Which CloudWatch Log Stream name to use when logging requests to AWS CloudWatch. | yes | |