{"push_id":1350760004,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"cd67591912617243b35983b351724c795dd51b89","before":"1d265e790bd64bf345c4f5705fc2f1f0f0cea943","commits":[{"sha":"c407369f7394596ce3df1902e73a6fbf0cd05507","author":{"name":"Craig Dazey","email":"b0eff24665304f8561697491913c67ce52842cca@gmail.com"},"message":"update headers correctly","distinct":true,"url":"https://api.github.com/repos/Kraigie/mixcord/commits/c407369f7394596ce3df1902e73a6fbf0cd05507"},{"sha":"cd67591912617243b35983b351724c795dd51b89","author":{"name":"Craig Dazey","email":"b0eff24665304f8561697491913c67ce52842cca@gmail.com"},"message":"properly implement rate limits\n\n1. Request to API is made\n2. Buckets are checked to see if another call would result in hitting\nratelimit\n  * If yes, wait until ratelimit is reset - this blocks all other rest\n    calls from from this task. Then proceed with request\n  * If no, continue with request\n3. Request is parsed, ratelimits buckets are updated\n\nBucket state is held in an ETS table. Requests are processed synchronosly\nin order.","distinct":true,"url":"https://api.github.com/repos/Kraigie/mixcord/commits/cd67591912617243b35983b351724c795dd51b89"}]}
{"actor":{"display_login":"Kraigie"}}