Subject: | Use raw.githubusercontent.com instead of api.github.com? |
Github files are also available using github's "raw" URLs, i.e. https://github.com/$user/$repo/raw/$branch/$path (which is redirected to a raw.githubusercontent.com URL). Accessing this URL has some advantages over the api.github.com URL:
* probably there's no rate limiting --- currently api.github.com has a rate limitation of 60 requests per hour per IP, which could be easily exceeded (in fact, my smoker machines managed to produce fail reports against your module because of this limit)
* less dependencies --- JSON and MIME64::Base are not needed as the returned content is already raw and unencoded
* faster and less traffic --- because the content is raw and not base64-encoded, less traffic goes over the wire, and it's not needed to use the CPU to do the extra decoding. I also suspect that the raw.githubusercontent.com URL is anyway faster than the github API.
So it could be beneficial to rewrite the ...::File module to use raw URLs. The ...::Dir module still would need to use the github API.