{"action":"closed","issue":{"url":"https://api.github.com/repos/docker/distribution/issues/748","labels_url":"https://api.github.com/repos/docker/distribution/issues/748/labels{/name}","comments_url":"https://api.github.com/repos/docker/distribution/issues/748/comments","events_url":"https://api.github.com/repos/docker/distribution/issues/748/events","html_url":"https://github.com/docker/distribution/issues/748","id":97158308,"number":748,"title":"Client response code acceptance is too narrow","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/bug","name":"bug","color":"e11d21"}],"state":"closed","locked":false,"assignee":{"login":"aaronlehmann","id":10601430,"avatar_url":"https://avatars.githubusercontent.com/u/10601430?v=3","gravatar_id":"","url":"https://api.github.com/users/aaronlehmann","html_url":"https://github.com/aaronlehmann","followers_url":"https://api.github.com/users/aaronlehmann/followers","following_url":"https://api.github.com/users/aaronlehmann/following{/other_user}","gists_url":"https://api.github.com/users/aaronlehmann/gists{/gist_id}","starred_url":"https://api.github.com/users/aaronlehmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aaronlehmann/subscriptions","organizations_url":"https://api.github.com/users/aaronlehmann/orgs","repos_url":"https://api.github.com/users/aaronlehmann/repos","events_url":"https://api.github.com/users/aaronlehmann/events{/privacy}","received_events_url":"https://api.github.com/users/aaronlehmann/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/docker/distribution/milestones/8","html_url":"https://github.com/docker/distribution/milestones/Registry/2.1","labels_url":"https://api.github.com/repos/docker/distribution/milestones/8/labels","id":1026598,"number":8,"title":"Registry/2.1","description":"Items in this roadmap will be part of the registry 2.1 release.","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":17,"closed_issues":156,"state":"open","created_at":"2015-03-18T04:15:41Z","updated_at":"2015-07-28T00:29:21Z","due_on":"2015-08-04T07:00:00Z","closed_at":null},"comments":4,"created_at":"2015-07-24T22:17:54Z","updated_at":"2015-07-28T00:29:21Z","closed_at":"2015-07-28T00:29:21Z","body":"For example, the following code is not specification compliant:\r\n\r\n```go\r\n\tswitch resp.StatusCode {\r\n\tcase http.StatusAccepted:\r\n\t\t// TODO(dmcgowan): make use of digest header\r\n\t\treturn nil\r\n\tdefault:\r\n\t\treturn handleErrorResponse(resp)\r\n\t}\r\n```\r\n\r\nIn this case, the client should accept 2xx, 3xx as successful, unless otherwise called out in the specification (such as when different response codes mean different things).\r\n\r\nThis needs to be fixed an integrated into docker 1.8. @icecrime "}}