gate-logger v1.0.0
Prerequisites
This package intrefaces with the GraphQLGate rate-limiting package to log query data for visualization in the Gateway developer portal
Signup/login to the Gateway developer portal.
Create a new project to recieve a project ID and API key.
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!
2 years ago