)]}'
{"swift/common/constraints.py":[{"author":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"change_message_id":"f6a53a0d0df88d6ed56e5eac9ec794e652c5ef02","unresolved":false,"context_lines":[{"line_number":127,"context_line":"    meta_count \u003d 0"},{"line_number":128,"context_line":"    meta_size \u003d 0"},{"line_number":129,"context_line":"    for key, value in req.headers.iteritems():"},{"line_number":130,"context_line":"        if isinstance(value, basestring) and len(value) \u003e MAX_HEADER_SIZE:"},{"line_number":131,"context_line":"            return HTTPBadRequest(body\u003d\u0027Header value too long: %s\u0027 %"},{"line_number":132,"context_line":"                                  key[:MAX_META_NAME_LENGTH],"},{"line_number":133,"context_line":"                                  request\u003dreq, content_type\u003d\u0027text/plain\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_31262fbb","line":130,"updated":"2015-04-01 18:49:37.000000000","message":"Why is this comparison not using MAX_META_VALUE_LENGTH?","commit_id":"b295aa5eeb98c37b5d47a3cdedb51f40bd33d42d"},{"author":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"change_message_id":"f6a53a0d0df88d6ed56e5eac9ec794e652c5ef02","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    for key, value in req.headers.iteritems():"},{"line_number":130,"context_line":"        if isinstance(value, basestring) and len(value) \u003e MAX_HEADER_SIZE:"},{"line_number":131,"context_line":"            return HTTPBadRequest(body\u003d\u0027Header value too long: %s\u0027 %"},{"line_number":132,"context_line":"                                  key[:MAX_META_NAME_LENGTH],"},{"line_number":133,"context_line":"                                  request\u003dreq, content_type\u003d\u0027text/plain\u0027)"},{"line_number":134,"context_line":"        if not key.lower().startswith(prefix):"},{"line_number":135,"context_line":"            continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_b13a3fcc","line":132,"updated":"2015-04-01 18:49:37.000000000","message":"Why is this explanation/log not using MAX_META_VALUE_LENGTH?","commit_id":"b295aa5eeb98c37b5d47a3cdedb51f40bd33d42d"},{"author":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"change_message_id":"535829e6caa98d9922dbea27e397128338d323e5","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    for key, value in req.headers.iteritems():"},{"line_number":130,"context_line":"        if isinstance(value, basestring) and len(value) \u003e MAX_HEADER_SIZE:"},{"line_number":131,"context_line":"            return HTTPBadRequest(body\u003d\u0027Header value too long: %s\u0027 %"},{"line_number":132,"context_line":"                                  key[:MAX_META_NAME_LENGTH],"},{"line_number":133,"context_line":"                                  request\u003dreq, content_type\u003d\u0027text/plain\u0027)"},{"line_number":134,"context_line":"        if not key.lower().startswith(prefix):"},{"line_number":135,"context_line":"            continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_d113830c","line":132,"in_reply_to":"baa041b7_b13a3fcc","updated":"2015-04-01 18:55:38.000000000","message":"oh, nevermind on both of these comments.  I looked too quickly.  I see the value check comes later.","commit_id":"b295aa5eeb98c37b5d47a3cdedb51f40bd33d42d"}],"test/unit/common/test_constraints.py":[{"author":{"_account_id":12279,"name":"Janie Richling","email":"jrichli@us.ibm.com","username":"jrichli"},"change_message_id":"f6a53a0d0df88d6ed56e5eac9ec794e652c5ef02","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        checked \u003d []"},{"line_number":165,"context_line":"        for target in target_types:"},{"line_number":166,"context_line":"            self.assertFalse(constraints.check_metadata(req, target))"},{"line_number":167,"context_line":"            for previous_target in checked:"},{"line_number":168,"context_line":"                self.assertTrue("},{"line_number":169,"context_line":"                    previous_target in req.environ[\u0027swift.metadata.checked\u0027])"},{"line_number":170,"context_line":"                self.assertFalse("}],"source_content_type":"text/x-python","patch_set":2,"id":"baa041b7_afbae56c","line":167,"updated":"2015-04-01 18:49:37.000000000","message":"wouldn\u0027t checked always be empty here?","commit_id":"b295aa5eeb98c37b5d47a3cdedb51f40bd33d42d"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"45c7dded93d54565848248a7df5264eab4c5c273","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        checked \u003d []"},{"line_number":165,"context_line":"        for target in target_types:"},{"line_number":166,"context_line":"            self.assertFalse(constraints.check_metadata(req, target))"},{"line_number":167,"context_line":"            for previous_target in checked:"},{"line_number":168,"context_line":"                self.assertTrue("},{"line_number":169,"context_line":"                    previous_target in req.environ[\u0027swift.metadata.checked\u0027])"},{"line_number":170,"context_line":"                self.assertFalse("}],"source_content_type":"text/x-python","patch_set":2,"id":"5aa745d1_c3dba11a","line":167,"in_reply_to":"5aa745d1_8765ae46","updated":"2015-04-16 17:18:59.000000000","message":"Fixed - good catch because the bug in the test was masking a bug in the code :/ Thanks!","commit_id":"b295aa5eeb98c37b5d47a3cdedb51f40bd33d42d"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"a500e6177cc1dc86e85a54b1768d7012323732ac","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        checked \u003d []"},{"line_number":165,"context_line":"        for target in target_types:"},{"line_number":166,"context_line":"            self.assertFalse(constraints.check_metadata(req, target))"},{"line_number":167,"context_line":"            for previous_target in checked:"},{"line_number":168,"context_line":"                self.assertTrue("},{"line_number":169,"context_line":"                    previous_target in req.environ[\u0027swift.metadata.checked\u0027])"},{"line_number":170,"context_line":"                self.assertFalse("}],"source_content_type":"text/x-python","patch_set":2,"id":"5aa745d1_8765ae46","line":167,"in_reply_to":"baa041b7_afbae56c","updated":"2015-04-16 14:23:16.000000000","message":"hmmm, you\u0027re right, something is wrong, looks like i forgot to ever update checked. #willfix","commit_id":"b295aa5eeb98c37b5d47a3cdedb51f40bd33d42d"}]}
