Stateful Rust web service that enables the efficient concurrent compilation and distribution of statistics regarding Apertium packages via a RESTful API.
Should match an optional query glob against apertium packages and return a list of objects containing the following fields which are configurable via a fields query parameter.
It would also be nice to have information about the last commit (author, date, sha, svn revision number).
The full list should be cached in memory and only retrieved from GitHub at a rate that will never hit their ~free tier rate limiting~ dynamic limit. Updating should be done via a background thread and the endpoint should never block. It should also provide a timestamp that indicates when it was last updated (and how far the next update is/already running?).
/packages/{query}
Should match an optional query glob against apertium packages and return a list of objects containing the following fields which are configurable via a
fields
query parameter.and anything else that seems particularly useful from https://developer.github.com/v3/repos/#list-your-repositories
It would also be nice to have information about the last commit (author, date, sha, svn revision number).
The full list should be cached in memory and only retrieved from GitHub at a rate that will never hit their ~free tier rate limiting~ dynamic limit. Updating should be done via a background thread and the endpoint should never block. It should also provide a timestamp that indicates when it was last updated (and how far the next update is/already running?).
Can force update via POST [sync only].