)]}'
{"etc/proxy-server.conf-sample":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"8290c0c24b5f8da58f5a43e83b3575b730523ff0","unresolved":false,"context_lines":[{"line_number":480,"context_line":"# max_multi_delete_objects \u003d 1000"},{"line_number":481,"context_line":"#"},{"line_number":482,"context_line":"# If set to \u0027true\u0027, s3api uses its own metadata for ACL"},{"line_number":483,"context_line":"# (e.g. X-Container-Sysmeta-S3api-Acl) to achieve the best S3 compatibility."},{"line_number":484,"context_line":"# If set to \u0027false\u0027, s3api tries to use Swift ACL (e.g. X-Container-Read)"},{"line_number":485,"context_line":"# instead of S3 ACL as far as possible.  If you want to keep backward"},{"line_number":486,"context_line":"# compatibility with Swift3 1.7 or earlier, set false here"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"bf659307_8408e091","line":483,"range":{"start_line":483,"start_character":30,"end_line":483,"end_character":31},"updated":"2018-04-04 05:09:16.000000000","message":"tiniest of nits: apparently .title() will make this\n\n X-Container-Sysmeta-S3Api-Acl\n\n(with a capital A)","commit_id":"57143e5106db72f0a1b4a359c99de354d69d5b55"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"d936a84d11e642e209f8de0d5855c9fa3113f9be","unresolved":false,"context_lines":[{"line_number":480,"context_line":"# max_multi_delete_objects \u003d 1000"},{"line_number":481,"context_line":"#"},{"line_number":482,"context_line":"# If set to \u0027true\u0027, s3api uses its own metadata for ACL"},{"line_number":483,"context_line":"# (e.g. X-Container-Sysmeta-S3api-Acl) to achieve the best S3 compatibility."},{"line_number":484,"context_line":"# If set to \u0027false\u0027, s3api tries to use Swift ACL (e.g. X-Container-Read)"},{"line_number":485,"context_line":"# instead of S3 ACL as far as possible.  If you want to keep backward"},{"line_number":486,"context_line":"# compatibility with Swift3 1.7 or earlier, set false here"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"bf659307_2a966196","line":483,"range":{"start_line":483,"start_character":30,"end_line":483,"end_character":31},"in_reply_to":"bf659307_8408e091","updated":"2018-04-05 08:01:39.000000000","message":"Oh, title() makes the letter after numbers to uppercase. Thanks.","commit_id":"57143e5106db72f0a1b4a359c99de354d69d5b55"}],"swift/common/middleware/s3api/response.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"8290c0c24b5f8da58f5a43e83b3575b730523ff0","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        for key, val in self.headers.iteritems():"},{"line_number":92,"context_line":"            if is_sys_meta(\u0027object\u0027, key) or is_sys_meta(\u0027container\u0027, key):"},{"line_number":93,"context_line":"                if \u0027swift3\u0027 in key.lower():"},{"line_number":94,"context_line":"                    _server_type \u003d key.split(\u0027-\u0027)[1]"},{"line_number":95,"context_line":"                    # To be compatible with older swift3, translate swift3"},{"line_number":96,"context_line":"                    # sysmeta to s3api sysmeta here"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_24af942a","line":93,"updated":"2018-04-04 05:09:16.000000000","message":"My gut says this is too loose -- we know exactly which positions we expect \"swift3\" to be in, and if something sets x-object-sysmeta-fizzbuzz-swift3-was-great, we\u0027ll get something like x-object-sysmeta-s3api-zz-swift3-was-great below.\n\nBut the rest of me says, \"meh.\" Probably won\u0027t come up. The only hoisting of user-supplied values into sysmeta happens with *transient* sysmeta so... it\u0027s probably fine.","commit_id":"57143e5106db72f0a1b4a359c99de354d69d5b55"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"d936a84d11e642e209f8de0d5855c9fa3113f9be","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        for key, val in self.headers.iteritems():"},{"line_number":92,"context_line":"            if is_sys_meta(\u0027object\u0027, key) or is_sys_meta(\u0027container\u0027, key):"},{"line_number":93,"context_line":"                if \u0027swift3\u0027 in key.lower():"},{"line_number":94,"context_line":"                    _server_type \u003d key.split(\u0027-\u0027)[1]"},{"line_number":95,"context_line":"                    # To be compatible with older swift3, translate swift3"},{"line_number":96,"context_line":"                    # sysmeta to s3api sysmeta here"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_4af4f5cf","line":93,"in_reply_to":"bf659307_24af942a","updated":"2018-04-05 08:01:39.000000000","message":"Ah... this is from my lazy check here. ok i\u0027ll change, cleanup around here.","commit_id":"57143e5106db72f0a1b4a359c99de354d69d5b55"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"8290c0c24b5f8da58f5a43e83b3575b730523ff0","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                        # sysmeta set the key only when the key does not exist"},{"line_number":103,"context_line":"                        sw_sysmeta_headers[key] \u003d val"},{"line_number":104,"context_line":"                else:"},{"line_number":105,"context_line":"                    sw_sysmeta_headers[key] \u003d val"},{"line_number":106,"context_line":"            else:"},{"line_number":107,"context_line":"                sw_headers[key] \u003d val"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_8416a0a7","line":105,"updated":"2018-04-04 05:09:16.000000000","message":"Before, sw_sysmeta_headers only had keys starting with x-container-sysmeta-swift3- or x-object-sysmeta-swift3- but now it gets *all* sysmeta, even things unrelated to swift3/s3api -- is that OK? I forget how we use that now...","commit_id":"57143e5106db72f0a1b4a359c99de354d69d5b55"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"d936a84d11e642e209f8de0d5855c9fa3113f9be","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                        # sysmeta set the key only when the key does not exist"},{"line_number":103,"context_line":"                        sw_sysmeta_headers[key] \u003d val"},{"line_number":104,"context_line":"                else:"},{"line_number":105,"context_line":"                    sw_sysmeta_headers[key] \u003d val"},{"line_number":106,"context_line":"            else:"},{"line_number":107,"context_line":"                sw_headers[key] \u003d val"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_0a17ddef","line":105,"in_reply_to":"bf659307_8416a0a7","updated":"2018-04-05 08:01:39.000000000","message":"oh... that\u0027s my mistake. thanks. I\u0027ll fix it soon to be same with the older behavior. Perhaps, it\u0027s worth the response object can know about other sysmeta but it sounds YAGNI thing. Let\u0027s keep it. I\u0027ll add one more test to assert such an unrelated sysmeta header will be ignored.","commit_id":"57143e5106db72f0a1b4a359c99de354d69d5b55"}]}
