1.0.0 • Published 2 years ago

gate-logger v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

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!