)]}'
{"glance/api/middleware/cache.py":[{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"35b6bdca6cb32ea2f337e01ec553d6c6ecf9a4d5","unresolved":false,"context_lines":[{"line_number":238,"context_line":"        # content-length got by the method \"download\" because of this issue:"},{"line_number":239,"context_line":"        # https://github.com/Pylons/webob/issues/86"},{"line_number":240,"context_line":"        response.headers[\u0027Content-Type\u0027] \u003d \u0027application/octet-stream\u0027"},{"line_number":241,"context_line":"        if image.checksum:"},{"line_number":242,"context_line":"            response.headers[\u0027Content-MD5\u0027] \u003d (image.checksum.encode(\u0027utf-8\u0027)"},{"line_number":243,"context_line":"                                               if six.PY2 else image.checksum)"},{"line_number":244,"context_line":"        response.headers[\u0027Content-Length\u0027] \u003d str(image.size)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_041a2d7c","line":241,"updated":"2016-06-17 09:00:42.000000000","message":"Is it safe to send response without this header? Why we are trying to send it at all?","commit_id":"bf53c1b8f18b494b97454ba4142679ad5052f8c2"},{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"331957c63b94f7ea017e47206f067cf2f5ec5237","unresolved":false,"context_lines":[{"line_number":240,"context_line":"        response.headers[\u0027Content-Type\u0027] \u003d \u0027application/octet-stream\u0027"},{"line_number":241,"context_line":"        if image.checksum:"},{"line_number":242,"context_line":"            response.headers[\u0027Content-MD5\u0027] \u003d (image.checksum.encode(\u0027utf-8\u0027)"},{"line_number":243,"context_line":"                                               if six.PY2 else image.checksum)"},{"line_number":244,"context_line":"        response.headers[\u0027Content-Length\u0027] \u003d str(image.size)"},{"line_number":245,"context_line":"        return response"},{"line_number":246,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_701728a3","line":243,"updated":"2016-06-14 09:19:00.000000000","message":"In glance/api/v2/image_data.py we don\u0027t do the utf-8 encode if PY2:\n\n        if image.checksum:\n            response.headers[\u0027Content-MD5\u0027] \u003d image.checksum\n\nI\u0027m not sure if it\u0027s needed there too. (Out of scope for this patch).","commit_id":"bf53c1b8f18b494b97454ba4142679ad5052f8c2"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"1fec14a02db009ce1cc5f5869cc12d4c3878aeed","unresolved":false,"context_lines":[{"line_number":240,"context_line":"        response.headers[\u0027Content-Type\u0027] \u003d \u0027application/octet-stream\u0027"},{"line_number":241,"context_line":"        if image.checksum:"},{"line_number":242,"context_line":"            response.headers[\u0027Content-MD5\u0027] \u003d (image.checksum.encode(\u0027utf-8\u0027)"},{"line_number":243,"context_line":"                                               if six.PY2 else image.checksum)"},{"line_number":244,"context_line":"        response.headers[\u0027Content-Length\u0027] \u003d str(image.size)"},{"line_number":245,"context_line":"        return response"},{"line_number":246,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_abe801b4","line":243,"in_reply_to":"7aa08908_701728a3","updated":"2016-06-14 09:36:57.000000000","message":"Stuart, I tested that under mod_wsgi, gunicorn and this header needs to be encoded for them.\nOtherwise, it will fail with unicode decode error. \nHonestly, I didn\u0027t have time to understand the error but looks like request.environ is slightly different from eventlet from them.","commit_id":"bf53c1b8f18b494b97454ba4142679ad5052f8c2"}]}
