)]}'
{"glance/api/v1/images.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0cd681bfe1fab8b84cbdd0fbbaf7cafc4a1c6402","unresolved":false,"context_lines":[{"line_number":706,"context_line":"            # Add hook to process after response is fully sent"},{"line_number":707,"context_line":"            if \u0027eventlet.posthooks\u0027 in response.environ:"},{"line_number":708,"context_line":"                response.environ[\u0027eventlet.posthooks\u0027].append("},{"line_number":709,"context_line":"                    (notify_image_sent, (response.request,), {}))"},{"line_number":710,"context_line":""},{"line_number":711,"context_line":"            try:"},{"line_number":712,"context_line":"                for chunk in image_iter:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F%2FbY%3D","line":709,"updated":"2012-01-10 17:17:30.000000000","message":"Interesting.. I wasn\u0027t aware of this functionality in eventlet.","commit_id":"e4397a7f69b6ff1ceecee92d890742f7f5144624"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"4ec014fca05bac391532c2fb811565e289a94efc","unresolved":false,"context_lines":[{"line_number":706,"context_line":"            # Add hook to process after response is fully sent"},{"line_number":707,"context_line":"            if \u0027eventlet.posthooks\u0027 in response.environ:"},{"line_number":708,"context_line":"                response.environ[\u0027eventlet.posthooks\u0027].append("},{"line_number":709,"context_line":"                    (notify_image_sent, (response.request,), {}))"},{"line_number":710,"context_line":""},{"line_number":711,"context_line":"            try:"},{"line_number":712,"context_line":"                for chunk in image_iter:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F%2FYE%3D","line":709,"in_reply_to":"AAAAD3%2F%2F%2FbA%3D","updated":"2012-01-10 18:55:01.000000000","message":":) You can always count on the Swifties for good code!","commit_id":"e4397a7f69b6ff1ceecee92d890742f7f5144624"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"a100af502614c1f7de8d0596da295283ea940310","unresolved":false,"context_lines":[{"line_number":706,"context_line":"            # Add hook to process after response is fully sent"},{"line_number":707,"context_line":"            if \u0027eventlet.posthooks\u0027 in response.environ:"},{"line_number":708,"context_line":"                response.environ[\u0027eventlet.posthooks\u0027].append("},{"line_number":709,"context_line":"                    (notify_image_sent, (response.request,), {}))"},{"line_number":710,"context_line":""},{"line_number":711,"context_line":"            try:"},{"line_number":712,"context_line":"                for chunk in image_iter:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F%2FbA%3D","line":709,"in_reply_to":"AAAAD3%2F%2F%2FbY%3D","updated":"2012-01-10 18:30:18.000000000","message":"I wasted plenty of time until I figured this out. Turns out this is what they do in Swift.","commit_id":"e4397a7f69b6ff1ceecee92d890742f7f5144624"}],"glance/tests/unit/test_api.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0cd681bfe1fab8b84cbdd0fbbaf7cafc4a1c6402","unresolved":false,"context_lines":[{"line_number":26,"context_line":"import webob"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from glance.api.v1 import router"},{"line_number":29,"context_line":"from glance.api.v1 import images"},{"line_number":30,"context_line":"from glance.common import context"},{"line_number":31,"context_line":"from glance.common import notifier"},{"line_number":32,"context_line":"from glance.common import utils"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F%2FbU%3D","line":29,"updated":"2012-01-10 17:17:30.000000000","message":"move this above router :)","commit_id":"e4397a7f69b6ff1ceecee92d890742f7f5144624"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0cd681bfe1fab8b84cbdd0fbbaf7cafc4a1c6402","unresolved":false,"context_lines":[{"line_number":2775,"context_line":"        for chunk in response.app_iter:"},{"line_number":2776,"context_line":"            pass"},{"line_number":2777,"context_line":""},{"line_number":2778,"context_line":"        self.assertNotEqual(response.environ[\u0027eventlet.posthooks\u0027], [])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F%2FbM%3D","line":2778,"updated":"2012-01-10 17:17:30.000000000","message":"Are we not able to test here that the hook was actually fired?","commit_id":"e4397a7f69b6ff1ceecee92d890742f7f5144624"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"4ec014fca05bac391532c2fb811565e289a94efc","unresolved":false,"context_lines":[{"line_number":2775,"context_line":"        for chunk in response.app_iter:"},{"line_number":2776,"context_line":"            pass"},{"line_number":2777,"context_line":""},{"line_number":2778,"context_line":"        self.assertNotEqual(response.environ[\u0027eventlet.posthooks\u0027], [])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F%2FYA%3D","line":2778,"in_reply_to":"AAAAD3%2F%2F%2FYk%3D","updated":"2012-01-10 18:55:01.000000000","message":"Yeah, that does make sense.","commit_id":"e4397a7f69b6ff1ceecee92d890742f7f5144624"},{"author":{"_account_id":177,"name":"Alex Meade","email":"mr.alex.meade@gmail.com","username":"alex-meade"},"change_message_id":"a100af502614c1f7de8d0596da295283ea940310","unresolved":false,"context_lines":[{"line_number":2775,"context_line":"        for chunk in response.app_iter:"},{"line_number":2776,"context_line":"            pass"},{"line_number":2777,"context_line":""},{"line_number":2778,"context_line":"        self.assertNotEqual(response.environ[\u0027eventlet.posthooks\u0027], [])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAD3%2F%2F%2FYk%3D","line":2778,"in_reply_to":"AAAAD3%2F%2F%2FbM%3D","updated":"2012-01-10 18:30:18.000000000","message":"Well it isn\u0027t actually fired because eventlet server isn\u0027t running(I don\u0027t think). I\u0027ve manually tested that everything is working. I am going to move some things around real quick to get some better test coverage","commit_id":"e4397a7f69b6ff1ceecee92d890742f7f5144624"}]}
