Hi all,
I was writing a Node.js wrapper for the API and figured I'd make it open source and publish to NPM.
https://www.npmjs.com/package/chess-web-api
It includes a priority queue for requests. So even if you accidentally add multiple requests at a time, you won't get hit with an error for parallel requests. You just pass in a reference to the method you want from the wrapper, a callback function, any parameters, options and it's priority. Runs through each one as soon as the previous is complete.
I also incorporated their header "If-None-Match" with the "etag" into a function called "ifChanged", where you can request any of the methods with an "etag". Always returns an object with a boolean property "changed", and if it has changed, the data as well.
Let me know if you see any errors or if there's anything I should add! I'll try to make sure it's updated when changes are made to the API.
Hope someone finds it useful!