gate-logger
v1.0.0
Published
A backend library to log GraphQL query data to Gateway developer portal
Downloads
1
Maintainers
Readme
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!