gate-logger
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

Gate Logger

GitHub stars GitHub issues GitHub last commit

The data pipeline package for communication between the GraphQLGate Rate-Limiter and your Gateway developer portal.

 

Prerequisites

This package intrefaces with the GraphQLGate rate-limiting package to log query data for visualization in the Gateway developer portal

  1. Signup/login to the Gateway developer portal.

  2. Create a new project to recieve a project ID and API key.

  3. Import and configure the GraphQLGate rate-limiting package

Getting Started

Install the package

npm i gate-logger

Import the package and add the logging middleware to the Express middleware chain BEFORE the GraphQLGate middleware.

** ERRORS WILL BE THROWN if the logger is added after the limiter **

Copy the project ID and the API key from your project on the Gateway developer portal and include them as middleware arguments.

// import package
import gateLogger from 'gate-logger';
import { expressGraphQLRateLimiter } from 'graphql-limiter';

/**
 * Import other dependencies
 * */

// Add the logger middleware into your GraphQL middleware chain
app.use('gql', gateLogger(/* PROJECT ID */, /* API KEY */ );

//Add the rate limiting middleware
app.use(
    'gql',
    expressGraphQLRateLimiter(schemaObject, {
        rateLimiter: {
            type: 'TOKEN_BUCKET',
            refillRate: 10,
            capacity: 100,
        },
    }) /** add GraphQL server here */
);

And that's it! The logger will now send all query rate-limiting data, blocked or allowed, for you to view in the Gateway developer portal!

Package Sidebar

Install

npm i gate-logger

Weekly Downloads

1

Version

1.0.0

License

ISC

Unpacked Size

23.6 kB

Total Files

12

Last publish

Collaborators

  • evanmcneely