https://github.com/gbox-proxy/gbox
Fast :zap: reverse proxy in front of any GraphQL server for caching, securing and monitoring.
https://github.com/gbox-proxy/gbox
cache caching-proxy golang graphql-server proxy-server
Last synced: about 1 year ago
JSON representation
Fast :zap: reverse proxy in front of any GraphQL server for caching, securing and monitoring.
- Host: GitHub
- URL: https://github.com/gbox-proxy/gbox
- Owner: gbox-proxy
- License: apache-2.0
- Created: 2022-04-01T03:23:48.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-06-09T05:53:50.000Z (about 3 years ago)
- Last Synced: 2024-06-19T02:08:20.453Z (about 2 years ago)
- Topics: cache, caching-proxy, golang, graphql-server, proxy-server
- Language: Go
- Homepage: https://gbox-proxy.github.io/
- Size: 270 KB
- Stars: 45
- Watchers: 2
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
Awesome Lists containing this project
README

Fast :zap: reverse proxy in front of any GraphQL server for caching, securing and monitoring.
[](https://github.com/gbox-proxy/gbox/actions/workflows/ci.yml)
[](https://codecov.io/gh/gbox-proxy/gbox)
[](https://goreportcard.com/report/github.com/gbox-proxy/gbox)
[](https://pkg.go.dev/github.com/gbox-proxy/gbox)
[](https://artifacthub.io/packages/search?repo=gbox)
Features
--------
+ :floppy_disk: Caching
+ [RFC7234](https://httpwg.org/specs/rfc7234.html) compliant HTTP Cache.
+ Cache query operations results through types.
+ Auto invalidate cache through mutation operations.
+ [Swr](https://web.dev/stale-while-revalidate/) query results in background.
+ Cache query results to specific headers, cookies (varies).
+ :closed_lock_with_key: Securing
+ Disable introspection.
+ Limit operations depth, nodes and complexity.
+ :chart_with_upwards_trend: Monitoring ([Prometheus](https://prometheus.io/) metrics)
+ Operations in flight.
+ Operations count.
+ Operations request durations.
+ Operations caching statuses.
How it works
------------
Every single request sent by your clients will serve by GBox. The GBox reverse proxy will cache, validate, and collect metrics before pass through requests to your GraphQL server.

Documentation
-------------
The GBox documentation can be browsed on [Github page](https://gbox-proxy.github.io/).
Inspiration
-----------
The GBox has been inspired by many others related work including:
+ [Mercure](https://github.com/dunglas/mercure)
+ [graphql-go-tools](https://github.com/jensneuse/graphql-go-tools)
+ [GraphCDN](https://graphcdn.io)
Thanks to all the great people who created these projects!