)]}'
{"swift/common/middleware/s3api/s3request.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"2504adb8f990b615af400df6421f37a28ebd959c","unresolved":false,"context_lines":[{"line_number":1369,"context_line":"            # if we have already authenticated, yes we can use the account"},{"line_number":1370,"context_line":"            # name like as AUTH_xxx for performance efficiency"},{"line_number":1371,"context_line":"            sw_req \u003d self.to_swift_req(app, self.container_name, None)"},{"line_number":1372,"context_line":"            info \u003d get_container_info(sw_req.environ, app)"},{"line_number":1373,"context_line":"            if is_success(info[\u0027status\u0027]):"},{"line_number":1374,"context_line":"                return info"},{"line_number":1375,"context_line":"            elif info[\u0027status\u0027] \u003d\u003d 404:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_9991fff4","line":1372,"updated":"2019-01-10 22:02:48.000000000","message":"the disadvantage of always using this code path escapes me\n\ndo you really have to be authenticated to use get_container_info?","commit_id":"a4298fb3ab071b1284fb7080f92c305c6b1cb445"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"862894557d5523f3b0882a7393d1dcabe7f18e19","unresolved":false,"context_lines":[{"line_number":1369,"context_line":"            # if we have already authenticated, yes we can use the account"},{"line_number":1370,"context_line":"            # name like as AUTH_xxx for performance efficiency"},{"line_number":1371,"context_line":"            sw_req \u003d self.to_swift_req(app, self.container_name, None)"},{"line_number":1372,"context_line":"            info \u003d get_container_info(sw_req.environ, app)"},{"line_number":1373,"context_line":"            if is_success(info[\u0027status\u0027]):"},{"line_number":1374,"context_line":"                return info"},{"line_number":1375,"context_line":"            elif info[\u0027status\u0027] \u003d\u003d 404:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_ebac1aa0","line":1372,"in_reply_to":"bfdaf3ff_9991fff4","updated":"2019-01-31 20:02:40.000000000","message":"\u003e do you really have to be authenticated to use get_container_info?\n\nYup -- because otherwise, we don\u0027t know what account to use. The access key ID in the Authorization header will map to an account, but only if the authentication is successful.","commit_id":"a4298fb3ab071b1284fb7080f92c305c6b1cb445"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"2504adb8f990b615af400df6421f37a28ebd959c","unresolved":false,"context_lines":[{"line_number":1379,"context_line":"                    \u0027unexpected status code %d\u0027 % info[\u0027status\u0027])"},{"line_number":1380,"context_line":"        else:"},{"line_number":1381,"context_line":"            # otherwise we do naive HEAD request with the authentication"},{"line_number":1382,"context_line":"            resp \u003d self.get_response(app, \u0027HEAD\u0027, self.container_name, \u0027\u0027)"},{"line_number":1383,"context_line":"            headers \u003d resp.sw_headers.copy()"},{"line_number":1384,"context_line":"            headers.update(resp.sysmeta_headers)"},{"line_number":1385,"context_line":"            return headers_to_container_info("}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_5962b718","line":1382,"updated":"2019-01-10 22:02:48.000000000","message":"if we\u0027re unauthenticated - why does this work?","commit_id":"a4298fb3ab071b1284fb7080f92c305c6b1cb445"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"862894557d5523f3b0882a7393d1dcabe7f18e19","unresolved":false,"context_lines":[{"line_number":1379,"context_line":"                    \u0027unexpected status code %d\u0027 % info[\u0027status\u0027])"},{"line_number":1380,"context_line":"        else:"},{"line_number":1381,"context_line":"            # otherwise we do naive HEAD request with the authentication"},{"line_number":1382,"context_line":"            resp \u003d self.get_response(app, \u0027HEAD\u0027, self.container_name, \u0027\u0027)"},{"line_number":1383,"context_line":"            headers \u003d resp.sw_headers.copy()"},{"line_number":1384,"context_line":"            headers.update(resp.sysmeta_headers)"},{"line_number":1385,"context_line":"            return headers_to_container_info("}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_cbb036e0","line":1382,"in_reply_to":"bfdaf3ff_5962b718","updated":"2019-01-31 20:02:40.000000000","message":"We leave all of the auth details you\u0027ll need to authenticate in place -- so *after* this call we *will* be authenticated (or we\u0027ll have bubbled up a 403).","commit_id":"a4298fb3ab071b1284fb7080f92c305c6b1cb445"}],"test/unit/common/middleware/s3api/test_s3request.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"2504adb8f990b615af400df6421f37a28ebd959c","unresolved":false,"context_lines":[{"line_number":306,"context_line":"                             \u0027X-container-object-count\u0027: 5,"},{"line_number":307,"context_line":"                             \u0027x-container-sysmeta-versions-location\u0027:"},{"line_number":308,"context_line":"                                \u0027bucket2\u0027,"},{"line_number":309,"context_line":"                             \u0027x-container-sysmeta-s3api-acl\u0027: s3api_acl,"},{"line_number":310,"context_line":"                             \u0027X-container-meta-foo\u0027: \u0027bar\u0027}, None)"},{"line_number":311,"context_line":"        req \u003d Request.blank(\u0027/bucket\u0027, environ\u003d{\u0027REQUEST_METHOD\u0027: \u0027GET\u0027},"},{"line_number":312,"context_line":"                            headers\u003d{\u0027Authorization\u0027: \u0027AWS test:tester:hmac\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_39bc9368","line":309,"updated":"2019-01-10 22:02:48.000000000","message":"so previously s3api sysmeta wasn\u0027t in container info... but we want to have all sysmeta in the container info","commit_id":"a4298fb3ab071b1284fb7080f92c305c6b1cb445"}]}
