{"action":"created","issue":{"url":"https://api.github.com/repos/docker/distribution/issues/90","labels_url":"https://api.github.com/repos/docker/distribution/issues/90/labels{/name}","comments_url":"https://api.github.com/repos/docker/distribution/issues/90/comments","events_url":"https://api.github.com/repos/docker/distribution/issues/90/events","html_url":"https://github.com/docker/distribution/pull/90","id":54968836,"number":90,"title":"Implement registry decorator toolkit","user":{"login":"stevvooe","id":120601,"avatar_url":"https://avatars.githubusercontent.com/u/120601?v=3","gravatar_id":"","url":"https://api.github.com/users/stevvooe","html_url":"https://github.com/stevvooe","followers_url":"https://api.github.com/users/stevvooe/followers","following_url":"https://api.github.com/users/stevvooe/following{/other_user}","gists_url":"https://api.github.com/users/stevvooe/gists{/gist_id}","starred_url":"https://api.github.com/users/stevvooe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stevvooe/subscriptions","organizations_url":"https://api.github.com/users/stevvooe/orgs","repos_url":"https://api.github.com/users/stevvooe/repos","events_url":"https://api.github.com/users/stevvooe/events{/privacy}","received_events_url":"https://api.github.com/users/stevvooe/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/docker/distribution/labels/Enhancement","name":"Enhancement","color":"bfe5bf"}],"state":"open","locked":false,"assignee":{"login":"stevvooe","id":120601,"avatar_url":"https://avatars.githubusercontent.com/u/120601?v=3","gravatar_id":"","url":"https://api.github.com/users/stevvooe","html_url":"https://github.com/stevvooe","followers_url":"https://api.github.com/users/stevvooe/followers","following_url":"https://api.github.com/users/stevvooe/following{/other_user}","gists_url":"https://api.github.com/users/stevvooe/gists{/gist_id}","starred_url":"https://api.github.com/users/stevvooe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stevvooe/subscriptions","organizations_url":"https://api.github.com/users/stevvooe/orgs","repos_url":"https://api.github.com/users/stevvooe/repos","events_url":"https://api.github.com/users/stevvooe/events{/privacy}","received_events_url":"https://api.github.com/users/stevvooe/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/docker/distribution/milestones/1","labels_url":"https://api.github.com/repos/docker/distribution/milestones/1/labels","id":917062,"number":1,"title":"Registry/Beta","description":"This milestone represents the first release of the beta version of the registry.","creator":{"login":"stevvooe","id":120601,"avatar_url":"https://avatars.githubusercontent.com/u/120601?v=3","gravatar_id":"","url":"https://api.github.com/users/stevvooe","html_url":"https://github.com/stevvooe","followers_url":"https://api.github.com/users/stevvooe/followers","following_url":"https://api.github.com/users/stevvooe/following{/other_user}","gists_url":"https://api.github.com/users/stevvooe/gists{/gist_id}","starred_url":"https://api.github.com/users/stevvooe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stevvooe/subscriptions","organizations_url":"https://api.github.com/users/stevvooe/orgs","repos_url":"https://api.github.com/users/stevvooe/repos","events_url":"https://api.github.com/users/stevvooe/events{/privacy}","received_events_url":"https://api.github.com/users/stevvooe/received_events","type":"User","site_admin":false},"open_issues":13,"closed_issues":33,"state":"open","created_at":"2014-12-29T20:35:10Z","updated_at":"2015-01-21T02:16:13Z","due_on":"2015-02-05T08:00:00Z","closed_at":null},"comments":1,"created_at":"2015-01-21T02:15:58Z","updated_at":"2015-01-21T17:53:34Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/docker/distribution/pulls/90","html_url":"https://github.com/docker/distribution/pull/90","diff_url":"https://github.com/docker/distribution/pull/90.diff","patch_url":"https://github.com/docker/distribution/pull/90.patch"},"body":"This change provides a toolkit for intercepting registry calls, such as\r\n`ManifestService.Get` and `LayerUpload.Finish`, with the goal of easily\r\nsupporting interesting callbacks and listeners. The package proxies\r\nreturned objects through the decorate function before creation, allowing one to\r\ncarefully choose injection points.\r\n\r\nUse cases range from notification systems all the way to cache integration.\r\nWhile such a tool isn't strictly necessary, it reduces the amount of code\r\nrequired to accomplish such tasks, deferring the tricky aspects to the\r\ndecorator package.\r\n\r\nConnects to #42.\r\n\r\nSigned-off-by: Stephen J Day <stephen.day@docker.com>"},"comment":{"url":"https://api.github.com/repos/docker/distribution/issues/comments/70886557","html_url":"https://github.com/docker/distribution/pull/90#issuecomment-70886557","issue_url":"https://api.github.com/repos/docker/distribution/issues/90","id":70886557,"user":{"login":"dmp42","id":332946,"avatar_url":"https://avatars.githubusercontent.com/u/332946?v=3","gravatar_id":"","url":"https://api.github.com/users/dmp42","html_url":"https://github.com/dmp42","followers_url":"https://api.github.com/users/dmp42/followers","following_url":"https://api.github.com/users/dmp42/following{/other_user}","gists_url":"https://api.github.com/users/dmp42/gists{/gist_id}","starred_url":"https://api.github.com/users/dmp42/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmp42/subscriptions","organizations_url":"https://api.github.com/users/dmp42/orgs","repos_url":"https://api.github.com/users/dmp42/repos","events_url":"https://api.github.com/users/dmp42/events{/privacy}","received_events_url":"https://api.github.com/users/dmp42/received_events","type":"User","site_admin":false},"created_at":"2015-01-21T17:53:34Z","updated_at":"2015-01-21T17:53:34Z","body":"LGTM"}}