)]}'
{"swift/proxy/controllers/obj.py":[{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"2b7a48f2684ad2f477f445cb6591f7802e093ab4","unresolved":false,"context_lines":[{"line_number":35,"context_line":"from eventlet.queue import Queue"},{"line_number":36,"context_line":"from eventlet.timeout import Timeout"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"from swift.common.utils import ("},{"line_number":39,"context_line":"    clean_content_type, config_true_value, ContextPool, csv_append,"},{"line_number":40,"context_line":"    GreenAsyncPile, GreenthreadSafeIterator, json,"},{"line_number":41,"context_line":"    normalize_delete_at_timestamp, normalize_timestamp, public, quorum_size)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_2b7157e0","line":38,"updated":"2014-05-23 20:05:59.000000000","message":"love the new style and the alphabetic reordering although I ususally use C locale out of sheer habit","commit_id":"4350152828dc8cade3ae9ec1116e7ceb8d8d98a5"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"2b7a48f2684ad2f477f445cb6591f7802e093ab4","unresolved":false,"context_lines":[{"line_number":206,"context_line":"            req, _(\u0027Object\u0027), self.app.object_ring, partition,"},{"line_number":207,"context_line":"            req.swift_entity_path)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        if \u0027;\u0027 in resp.headers.get(\u0027content-type\u0027, \u0027\u0027):"},{"line_number":210,"context_line":"            resp.content_type \u003d clean_content_type("},{"line_number":211,"context_line":"                resp.headers[\u0027content-type\u0027])"},{"line_number":212,"context_line":"        return resp"}],"source_content_type":"text/x-python","patch_set":2,"id":"7adec928_cb4ab382","line":209,"updated":"2014-05-23 20:05:59.000000000","message":"this check does exactly the same as if \u0027content-type\u0027 in resp.headers in other place, right? can we make them identical?","commit_id":"4350152828dc8cade3ae9ec1116e7ceb8d8d98a5"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"d3cb35cc520536c7a79094b16284f42e4c4e01cd","unresolved":false,"context_lines":[{"line_number":206,"context_line":"            req, _(\u0027Object\u0027), self.app.object_ring, partition,"},{"line_number":207,"context_line":"            req.swift_entity_path)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        if \u0027;\u0027 in resp.headers.get(\u0027content-type\u0027, \u0027\u0027):"},{"line_number":210,"context_line":"            resp.content_type \u003d clean_content_type("},{"line_number":211,"context_line":"                resp.headers[\u0027content-type\u0027])"},{"line_number":212,"context_line":"        return resp"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ae8d1ca_2b3e10b9","line":209,"in_reply_to":"3ae8d1ca_d43ab235","updated":"2014-05-27 16:10:22.000000000","message":"You scare me. If you, one of the founders of Swift, cannot freely reason about the code, we lost control of the codebase. It\u0027s dead. At best we could hope to patch it together with more automated testing.\n\nThat aside, swob\u0027s resp.content_type sets resp.headers (by a chain of property setters).","commit_id":"4350152828dc8cade3ae9ec1116e7ceb8d8d98a5"},{"author":{"_account_id":1216,"name":"gholt","email":"z-launchpad@brim.net","username":"gholt"},"change_message_id":"7cee1511541499c189fa7ccf8bfef936aee406f3","unresolved":false,"context_lines":[{"line_number":206,"context_line":"            req, _(\u0027Object\u0027), self.app.object_ring, partition,"},{"line_number":207,"context_line":"            req.swift_entity_path)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        if \u0027;\u0027 in resp.headers.get(\u0027content-type\u0027, \u0027\u0027):"},{"line_number":210,"context_line":"            resp.content_type \u003d clean_content_type("},{"line_number":211,"context_line":"                resp.headers[\u0027content-type\u0027])"},{"line_number":212,"context_line":"        return resp"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ae8d1ca_d43ab235","line":209,"in_reply_to":"7adec928_cb4ab382","updated":"2014-05-27 13:17:50.000000000","message":"This one was different in that it set to resp.content_type rather than like the other that set a headers dictionary\u0027s \u0027content-type\u0027 value. I didn\u0027t want to introduce a case of the fun bug we had before of \u0027text/html; charset\u003dutf-8; charset\u003dutf-8\" so I made sure to leave them acting the same as before.","commit_id":"4350152828dc8cade3ae9ec1116e7ceb8d8d98a5"}],"test/unit/common/test_utils.py":[{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f59e3ce24603cf88f0e96d95f7bb4b5e3603d81","unresolved":false,"context_lines":[{"line_number":1885,"context_line":"            \u0027text/plain; someother\u003dthing\u0027: \u0027text/plain; someother\u003dthing\u0027,"},{"line_number":1886,"context_line":"            \u0027text/plain; swift_bytes\u003d123\u0027: \u0027text/plain\u0027,"},{"line_number":1887,"context_line":"            \u0027text/plain; someother\u003dthing; swift_bytes\u003d123\u0027:"},{"line_number":1888,"context_line":"                \u0027text/plain; someother\u003dthing\u0027,"},{"line_number":1889,"context_line":"            # This last one is how the code behaves. Since Swift always tacks"},{"line_number":1890,"context_line":"            # on the swift_bytes it should always be last. This just confirms"},{"line_number":1891,"context_line":"            # this behavior if it was not last for some other odd reason."}],"source_content_type":"text/x-python","patch_set":1,"id":"7adec928_8c365ab3","line":1888,"updated":"2014-05-21 11:34:05.000000000","message":"nit: I had to parse this comment a couple of times. By \"the code\", you mean clean_content_type() -- not Swift generally. How about:\n\n    # Since Swift always tacks on the swift_bytes, clean_content_type()\n    # only strips swift_bytes if it\u0027s last. The next item simply shows that if\n    # for some other other odd reason it\u0027s not last, clean_content_type() will\n    # not remove it from the header.","commit_id":"c315c7d8af516bf495aab8caacdbe6f65c053b39"}]}
