GroovyBomb - A groovy API for Giantbomb.com
This project is a simple Groovy API for giantbomb. It is intended to serve as a client to assist me in spidering the entire database to gather a dataset to experiment with graph databases (so searching is not a first-class citizen)
The code as currently written expects a file (with no trailing newline) called "apikey" with your API key and an empty folder called "cache" in its working directory.
The code is in a very preliminary state so there's lots of ugliness (for instance, numerous classes are currently in the same file)
The code includes a naive cache implementation which writes entries to disk and keeps them permanently. If a request can be satisfied by the cache then it will never hit the live API.
The cache uses a MD5 checksum of the API Endpoint, Resource Path and Query String arguments (including API key) as the cache key, assuming no checksum collisions.
There is a naive throttler which limits requests that touch the live API to 1 per second