)]}'
{"swift/common/middleware/keymaster.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"1f72305f4db41f4f208216c785f27794088d6d43","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def error_if_need_keys(self, req):"},{"line_number":112,"context_line":"        # Determine if keys will actually be needed"},{"line_number":113,"context_line":"        # Look for any \"x-\u003cserver_type\u003e-sysmeta-crypto-meta\" headers"},{"line_number":114,"context_line":"        if not hasattr(self, \u0027_response_headers\u0027):"},{"line_number":115,"context_line":"            return"},{"line_number":116,"context_line":"        for (h, v) in self._response_headers:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_abb9afcd","line":113,"updated":"2016-04-13 09:56:06.000000000","message":"comment out of date","commit_id":"f42708240e6766c0b1ed47f1e35a36abcf01c3a4"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"1f72305f4db41f4f208216c785f27794088d6d43","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        if not hasattr(self, \u0027_response_headers\u0027):"},{"line_number":115,"context_line":"            return"},{"line_number":116,"context_line":"        for (h, v) in self._response_headers:"},{"line_number":117,"context_line":"            if (is_crypto_meta(h, self.server_type)):"},{"line_number":118,"context_line":"                    raise HTTPUnprocessableEntity("},{"line_number":119,"context_line":"                        \"Cannot get keys for path %s\" % req.path)"},{"line_number":120,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_ebb3a7e7","line":117,"updated":"2016-04-13 09:56:06.000000000","message":"redundant parens","commit_id":"f42708240e6766c0b1ed47f1e35a36abcf01c3a4"}],"swift/common/request_helpers.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"a23c007a2f2ff4be92565aa5fa38856bc272826d","unresolved":false,"context_lines":[{"line_number":226,"context_line":"    Removes the system metadata prefix for a given server type from the start"},{"line_number":227,"context_line":"    of a header key."},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    :param server_type: type of backend server i.e. [account|container|object]"},{"line_number":230,"context_line":"    :param key: header key"},{"line_number":231,"context_line":"    :returns: stripped header key"},{"line_number":232,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_23c0067b","line":229,"updated":"2016-03-30 13:17:29.000000000","message":"This param and the description of method are not relevant.","commit_id":"8c215f779bea687a18f4e2984864104c433e99f6"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"a23c007a2f2ff4be92565aa5fa38856bc272826d","unresolved":false,"context_lines":[{"line_number":286,"context_line":"    :param key: metadata key"},{"line_number":287,"context_line":"    :returns: the entire object transient system metadata header for key"},{"line_number":288,"context_line":"    \"\"\""},{"line_number":289,"context_line":"    return \u0027%s%s\u0027 % (OBJECT_TRANSIENT_SYSMETA_PREFIX, key)"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"def remove_items(headers, condition):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba0121b8_0369828b","line":289,"updated":"2016-03-30 13:17:29.000000000","message":"this method makes more sense :)","commit_id":"8c215f779bea687a18f4e2984864104c433e99f6"}],"swift/proxy/controllers/base.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"1f72305f4db41f4f208216c785f27794088d6d43","unresolved":false,"context_lines":[{"line_number":187,"context_line":"    transient_sysmeta \u003d {}"},{"line_number":188,"context_line":"    for key, val in headers.iteritems():"},{"line_number":189,"context_line":"        if is_object_transient_sysmeta(key):"},{"line_number":190,"context_line":"            key \u003d key.lower()[len(OBJECT_TRANSIENT_SYSMETA_PREFIX):]"},{"line_number":191,"context_line":"            transient_sysmeta[key] \u003d val"},{"line_number":192,"context_line":"    info \u003d {\u0027status\u0027: status_int,"},{"line_number":193,"context_line":"            \u0027length\u0027: headers.get(\u0027content-length\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_ce74f99d","line":190,"updated":"2016-04-13 09:56:06.000000000","message":"use strip_object_transient_sysmeta_prefix","commit_id":"f42708240e6766c0b1ed47f1e35a36abcf01c3a4"}]}
