GraphQL-Gate icon indicating copy to clipboard operation
GraphQL-Gate copied to clipboard

A GraphQL rate limiting library with query complexity analysisfor Node.js

Results 14 GraphQL-Gate issues
Sort by recently updated
recently updated
newest added

### Summary 1. adds support for `@skip` and `@include` directives for more accurate cost analysis for queries using these directives 2. adds tests for these directives on objects, interfaces/fragments ###...

enhancement

### Summary Moves throttling request processing to rate limiter setup to ensure all rate limiters are throttled and not just that of the express middleware. ### Type of Change Please...

enhancement

### Summary This PR updates imports to support ESModules per the typescript [docs](https://www.typescriptlang.org/docs/handbook/esm-node.html#:~:text=This%20code%20works%20in%20CommonJS%20modules%2C%20but%20will%20fail%20in%20ES%20modules). Adds linting rules to enforce the addition of file extensions to import statements. Updates jest config to...

bug

`@include(if: boolean)` and `@skip(if: boolean)` should be accounted for when analyzing complexity.

enhancement

Connections are configured to have a field weight of 2 but this is not reflected anywhere in the cost analysis. How should we handle this? Where does this come into...

documentation
testing

Make rate limiter available for other frameworks: - koa - hapi - ApolloServer

enhancement

At the time of writing, the express middleware function is hard coded to use the type complexity algorithm for complexity analysis. Refactor this function to make the choice of resolve...

enhancement

At the time of writing, the express rate limiter function is rate limiting requests by IP address by default. Add a configuration option to allow the developer to throttle requests...

enhancement
question

Our token bucket algo is currently getting data from the redis cache and doing computations server side. 'Redis Functions' allow the redis store to carry out computations on the redis's...

enhancement
question

when making a redis command like `setex()` or `get()`, if the connection to redis fails the function will fail silently. Refactor the algo to handle these edge cases.

bug
enhancement