{"action":"created","issue":{"url":"https://api.github.com/repos/docker/distribution/issues/156","labels_url":"https://api.github.com/repos/docker/distribution/issues/156/labels{/name}","comments_url":"https://api.github.com/repos/docker/distribution/issues/156/comments","events_url":"https://api.github.com/repos/docker/distribution/issues/156/events","html_url":"https://github.com/docker/distribution/issues/156","id":57096189,"number":156,"title":"level of integration with golang.org/x/net/context.Context","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/Question","name":"Question","color":"cc317c"},{"url":"https://api.github.com/repos/docker/distribution/labels/Sprint","name":"Sprint","color":"ededed"}],"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":null,"comments":7,"created_at":"2015-02-09T21:57:08Z","updated_at":"2015-03-14T00:30:21Z","closed_at":null,"body":"Some work has begun in integrating [`golang.org/x/net/context`](http://golang.org/x/net/context), such as #151. Most of this has been done with an eye on logging. Specifically, we are effectively using the context to inject loggers into disparate parts of the application.\r\n\r\n1. To what extent do we have the stable APIs integrate context? For example, do we have every method start with context or do we have objects that can be created with a context use a given context.\r\n2. Where do we draw the line for injection using the context? It seems to make sense with loggers and maybe authentication credentials, but where do we draw this line? Do we define rules?\r\n3. Where should it be acceptable to create new contexts? Does this only happen at request time? Or should arbitrary method calls be able to take and return a new context?\r\n4. Is this even a good idea? Where are the dragons?\r\n\r\nPlease respond with commentary.\r\n"},"comment":{"url":"https://api.github.com/repos/docker/distribution/issues/comments/79578744","html_url":"https://github.com/docker/distribution/issues/156#issuecomment-79578744","issue_url":"https://api.github.com/repos/docker/distribution/issues/156","id":79578744,"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},"created_at":"2015-03-14T00:30:21Z","updated_at":"2015-03-14T00:30:21Z","body":"We are going to integrate google context throughout. While requiring context everywhere is \"ugly\", the benefits are clear."}}