)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"b35aff099c7408656dff4d06e528d0fa93b77d00","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Isaku Yamahata \u003cisaku.yamahata@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-08-04 23:57:49 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"add auth token to context"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As discusses at"},{"line_number":10,"context_line":"http://lists.openstack.org/pipermail/openstack-dev/2014-July/040644.html"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"baada198_1b3b9bc8","line":7,"updated":"2014-08-04 16:52:48.000000000","message":"Please open a bug for this.","commit_id":"e538de0462d40fab3e083dc0c706c7771bea1235"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d0ad494d19950c9b90f9e2db2776d77658577cd4","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Isaku Yamahata \u003cisaku.yamahata@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-08-04 23:57:49 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"add auth token to context"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As discusses at"},{"line_number":10,"context_line":"http://lists.openstack.org/pipermail/openstack-dev/2014-July/040644.html"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"baada198_6d3ccf92","line":7,"in_reply_to":"baada198_1b3b9bc8","updated":"2014-08-05 01:26:56.000000000","message":"+1","commit_id":"e538de0462d40fab3e083dc0c706c7771bea1235"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"bcbf5af7611c85077b73f488d81df42e7a11dc05","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Isaku Yamahata \u003cisaku.yamahata@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-08-04 23:57:49 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"add auth token to context"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As discusses at"},{"line_number":10,"context_line":"http://lists.openstack.org/pipermail/openstack-dev/2014-July/040644.html"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"baada198_3b392aa3","line":7,"in_reply_to":"baada198_6d3ccf92","updated":"2014-08-05 06:41:26.000000000","message":"Done","commit_id":"e538de0462d40fab3e083dc0c706c7771bea1235"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"8492b9ed686efd51d48bdba1a53e624e6d9ce070","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"add auth token to context"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As discusses at"},{"line_number":10,"context_line":"http://lists.openstack.org/pipermail/openstack-dev/2014-July/040644.html"},{"line_number":11,"context_line":"SerivceVM project (and other routervm plugins) need auth token in context."},{"line_number":12,"context_line":"the first user will be l3 routervm plugin."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"baada198_f97a93ee","line":9,"updated":"2014-08-11 12:47:47.000000000","message":"discusses -\u003e discussed","commit_id":"4330bbc09d8c13244a11780bf7975af2a2382bc2"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"7e2e57b8bd48747992f59e5da63691fd1e1fcbd4","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"add auth token to context"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"As discusses at"},{"line_number":10,"context_line":"http://lists.openstack.org/pipermail/openstack-dev/2014-July/040644.html"},{"line_number":11,"context_line":"SerivceVM project (and other routervm plugins) need auth token in context."},{"line_number":12,"context_line":"the first user will be l3 routervm plugin."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"baada198_ee9f0eb1","line":9,"in_reply_to":"baada198_f97a93ee","updated":"2014-08-12 02:19:38.000000000","message":"Done","commit_id":"4330bbc09d8c13244a11780bf7975af2a2382bc2"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"8492b9ed686efd51d48bdba1a53e624e6d9ce070","unresolved":false,"context_lines":[{"line_number":9,"context_line":"As discusses at"},{"line_number":10,"context_line":"http://lists.openstack.org/pipermail/openstack-dev/2014-July/040644.html"},{"line_number":11,"context_line":"SerivceVM project (and other routervm plugins) need auth token in context."},{"line_number":12,"context_line":"the first user will be l3 routervm plugin."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1352698"},{"line_number":15,"context_line":"Change-Id: Id5a4c98059894eef33faf19d5ab063780b362f4a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"baada198_9971970f","line":12,"updated":"2014-08-11 12:47:47.000000000","message":"the -\u003e The","commit_id":"4330bbc09d8c13244a11780bf7975af2a2382bc2"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"7e2e57b8bd48747992f59e5da63691fd1e1fcbd4","unresolved":false,"context_lines":[{"line_number":9,"context_line":"As discusses at"},{"line_number":10,"context_line":"http://lists.openstack.org/pipermail/openstack-dev/2014-July/040644.html"},{"line_number":11,"context_line":"SerivceVM project (and other routervm plugins) need auth token in context."},{"line_number":12,"context_line":"the first user will be l3 routervm plugin."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1352698"},{"line_number":15,"context_line":"Change-Id: Id5a4c98059894eef33faf19d5ab063780b362f4a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"baada198_0ea362ff","line":12,"in_reply_to":"baada198_9971970f","updated":"2014-08-12 02:19:38.000000000","message":"Done","commit_id":"4330bbc09d8c13244a11780bf7975af2a2382bc2"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"b2247a2d20d56571f663d2f01020cf133e46bd7b","unresolved":false,"context_lines":[{"line_number":11,"context_line":"SerivceVM project (and other routervm plugins) need auth token in context."},{"line_number":12,"context_line":"the first user will be l3 routervm plugin."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1352698"},{"line_number":15,"context_line":"Change-Id: Id5a4c98059894eef33faf19d5ab063780b362f4a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"baada198_8e8c1dda","line":14,"updated":"2014-08-08 17:59:19.000000000","message":"and #1343854 ?","commit_id":"4330bbc09d8c13244a11780bf7975af2a2382bc2"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"7e2e57b8bd48747992f59e5da63691fd1e1fcbd4","unresolved":false,"context_lines":[{"line_number":11,"context_line":"SerivceVM project (and other routervm plugins) need auth token in context."},{"line_number":12,"context_line":"the first user will be l3 routervm plugin."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1352698"},{"line_number":15,"context_line":"Change-Id: Id5a4c98059894eef33faf19d5ab063780b362f4a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"baada198_ae80b649","line":14,"in_reply_to":"baada198_8e8c1dda","updated":"2014-08-12 02:19:38.000000000","message":"Done","commit_id":"4330bbc09d8c13244a11780bf7975af2a2382bc2"}],"neutron/auth.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d0ad494d19950c9b90f9e2db2776d77658577cd4","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        # Use request_id if already set"},{"line_number":49,"context_line":"        req_id \u003d req.environ.get(request_id.ENV_REQUEST_ID)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        # Get the auth token"},{"line_number":52,"context_line":"        auth_token \u003d req.headers.get(\u0027X_AUTH_TOKEN\u0027,"},{"line_number":53,"context_line":"                                     req.headers.get(\u0027X_STORAGE_TOKEN\u0027))"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_4d39cba1","line":51,"updated":"2014-08-05 01:26:56.000000000","message":"We need to add the corresponding unit tests to test_auth.py too.","commit_id":"e538de0462d40fab3e083dc0c706c7771bea1235"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"bcbf5af7611c85077b73f488d81df42e7a11dc05","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        # Use request_id if already set"},{"line_number":49,"context_line":"        req_id \u003d req.environ.get(request_id.ENV_REQUEST_ID)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        # Get the auth token"},{"line_number":52,"context_line":"        auth_token \u003d req.headers.get(\u0027X_AUTH_TOKEN\u0027,"},{"line_number":53,"context_line":"                                     req.headers.get(\u0027X_STORAGE_TOKEN\u0027))"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_def65c5d","line":51,"in_reply_to":"baada198_4d39cba1","updated":"2014-08-05 06:41:26.000000000","message":"Done","commit_id":"e538de0462d40fab3e083dc0c706c7771bea1235"},{"author":{"_account_id":1923,"name":"Mohammad Banikazemi","email":"mbanikazemi@gmail.com","username":"mb-s"},"change_message_id":"b35aff099c7408656dff4d06e528d0fa93b77d00","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        # Get the auth token"},{"line_number":52,"context_line":"        auth_token \u003d req.headers.get(\u0027X_AUTH_TOKEN\u0027,"},{"line_number":53,"context_line":"                                     req.headers.get(\u0027X_STORAGE_TOKEN\u0027))"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        # Create a context with the authentication data"},{"line_number":56,"context_line":"        ctx \u003d context.Context(user_id, tenant_id, roles\u003droles,"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_fb66e7ec","line":53,"updated":"2014-08-04 16:52:48.000000000","message":"X_STORAGE_TOKEN? Shouldn\u0027t this be different here? What is the correct name?","commit_id":"e538de0462d40fab3e083dc0c706c7771bea1235"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d0ad494d19950c9b90f9e2db2776d77658577cd4","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        # Get the auth token"},{"line_number":52,"context_line":"        auth_token \u003d req.headers.get(\u0027X_AUTH_TOKEN\u0027,"},{"line_number":53,"context_line":"                                     req.headers.get(\u0027X_STORAGE_TOKEN\u0027))"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        # Create a context with the authentication data"},{"line_number":56,"context_line":"        ctx \u003d context.Context(user_id, tenant_id, roles\u003droles,"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_6da04ff3","line":53,"in_reply_to":"baada198_f6bd1904","updated":"2014-08-05 01:26:56.000000000","message":"I think it is a good explanation.\nhttp://git.openstack.org/cgit/openstack/keystonemiddleware/tree/keystonemiddleware/auth_token.py#n38","commit_id":"e538de0462d40fab3e083dc0c706c7771bea1235"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"23178d12182b443c9ec0a751f7a4dbfd928f143d","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        # Get the auth token"},{"line_number":52,"context_line":"        auth_token \u003d req.headers.get(\u0027X_AUTH_TOKEN\u0027,"},{"line_number":53,"context_line":"                                     req.headers.get(\u0027X_STORAGE_TOKEN\u0027))"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        # Create a context with the authentication data"},{"line_number":56,"context_line":"        ctx \u003d context.Context(user_id, tenant_id, roles\u003droles,"}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_f6bd1904","line":53,"in_reply_to":"baada198_fb66e7ec","updated":"2014-08-04 18:42:15.000000000","message":"I suspect this was copied from swift. That field is mentioned in this doc. \nhttp://docs.openstack.org/developer/swift/overview_auth.html\n\nIt probably doesn\u0027t belong in neutron.","commit_id":"e538de0462d40fab3e083dc0c706c7771bea1235"}],"neutron/common/rpc.py":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"b2247a2d20d56571f663d2f01020cf133e46bd7b","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    def __call__(self, incoming):"},{"line_number":109,"context_line":"        sanitize_list \u003d (\u0027auth_token\u0027, )"},{"line_number":110,"context_line":"        sanitized_ctxt \u003d dict((k, v) for (k, v) in incoming.ctxt.items()"},{"line_number":111,"context_line":"                              if k not in sanitize_list)"},{"line_number":112,"context_line":"        LOG.debug(\u0027Incoming RPC: ctxt:%s message:%s\u0027, sanitized_ctxt,"},{"line_number":113,"context_line":"                  incoming.message)"},{"line_number":114,"context_line":"        return super(RPCDispatcher, self).__call__(incoming)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_09064774","line":111,"updated":"2014-08-08 17:59:19.000000000","message":"i prefer to log the existence of the value.\nie. replace the value with some constant like \"\u003cSANITIZED\u003e\".","commit_id":"4330bbc09d8c13244a11780bf7975af2a2382bc2"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"8492b9ed686efd51d48bdba1a53e624e6d9ce070","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    def __call__(self, incoming):"},{"line_number":109,"context_line":"        sanitize_list \u003d (\u0027auth_token\u0027, )"},{"line_number":110,"context_line":"        sanitized_ctxt \u003d dict((k, v) for (k, v) in incoming.ctxt.items()"},{"line_number":111,"context_line":"                              if k not in sanitize_list)"},{"line_number":112,"context_line":"        LOG.debug(\u0027Incoming RPC: ctxt:%s message:%s\u0027, sanitized_ctxt,"},{"line_number":113,"context_line":"                  incoming.message)"},{"line_number":114,"context_line":"        return super(RPCDispatcher, self).__call__(incoming)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_19e3c7a0","line":111,"in_reply_to":"baada198_09064774","updated":"2014-08-11 12:47:47.000000000","message":"+1","commit_id":"4330bbc09d8c13244a11780bf7975af2a2382bc2"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"7e2e57b8bd48747992f59e5da63691fd1e1fcbd4","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    def __call__(self, incoming):"},{"line_number":109,"context_line":"        sanitize_list \u003d (\u0027auth_token\u0027, )"},{"line_number":110,"context_line":"        sanitized_ctxt \u003d dict((k, v) for (k, v) in incoming.ctxt.items()"},{"line_number":111,"context_line":"                              if k not in sanitize_list)"},{"line_number":112,"context_line":"        LOG.debug(\u0027Incoming RPC: ctxt:%s message:%s\u0027, sanitized_ctxt,"},{"line_number":113,"context_line":"                  incoming.message)"},{"line_number":114,"context_line":"        return super(RPCDispatcher, self).__call__(incoming)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_0e336261","line":111,"in_reply_to":"baada198_19e3c7a0","updated":"2014-08-12 02:19:38.000000000","message":"Done","commit_id":"4330bbc09d8c13244a11780bf7975af2a2382bc2"}],"neutron/context.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"23178d12182b443c9ec0a751f7a4dbfd928f143d","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        super(ContextBase, self).__init__(user\u003duser_id, tenant\u003dtenant_id,"},{"line_number":56,"context_line":"                                          is_admin\u003dis_admin,"},{"line_number":57,"context_line":"                                          request_id\u003drequest_id,"},{"line_number":58,"context_line":"                                          auth_token\u003dauth_token)"},{"line_number":59,"context_line":"        self.user_name \u003d user_name"},{"line_number":60,"context_line":"        self.tenant_name \u003d tenant_name"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_f6199923","line":58,"updated":"2014-08-04 18:42:15.000000000","message":"This shouldn\u0027t be passed to super, the RequestContext does not expect it.\n\nhttps://github.com/openstack/neutron/blob/9652d2e076aad2864d19db77c9b403f9e81e1f24/neutron/openstack/common/context.py#L43","commit_id":"e538de0462d40fab3e083dc0c706c7771bea1235"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"bcbf5af7611c85077b73f488d81df42e7a11dc05","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        super(ContextBase, self).__init__(user\u003duser_id, tenant\u003dtenant_id,"},{"line_number":56,"context_line":"                                          is_admin\u003dis_admin,"},{"line_number":57,"context_line":"                                          request_id\u003drequest_id,"},{"line_number":58,"context_line":"                                          auth_token\u003dauth_token)"},{"line_number":59,"context_line":"        self.user_name \u003d user_name"},{"line_number":60,"context_line":"        self.tenant_name \u003d tenant_name"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_3b604aa3","line":58,"in_reply_to":"baada198_0ddd136d","updated":"2014-08-05 06:41:26.000000000","message":"Made it the first argument.","commit_id":"e538de0462d40fab3e083dc0c706c7771bea1235"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"02904bc76d306fa06a89ac500accf457a667ffc2","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        super(ContextBase, self).__init__(user\u003duser_id, tenant\u003dtenant_id,"},{"line_number":56,"context_line":"                                          is_admin\u003dis_admin,"},{"line_number":57,"context_line":"                                          request_id\u003drequest_id,"},{"line_number":58,"context_line":"                                          auth_token\u003dauth_token)"},{"line_number":59,"context_line":"        self.user_name \u003d user_name"},{"line_number":60,"context_line":"        self.tenant_name \u003d tenant_name"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_f46b3f51","line":58,"in_reply_to":"baada198_0ddd136d","updated":"2014-08-05 07:36:47.000000000","message":"Oh, I see it. Thanks","commit_id":"e538de0462d40fab3e083dc0c706c7771bea1235"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d0ad494d19950c9b90f9e2db2776d77658577cd4","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        super(ContextBase, self).__init__(user\u003duser_id, tenant\u003dtenant_id,"},{"line_number":56,"context_line":"                                          is_admin\u003dis_admin,"},{"line_number":57,"context_line":"                                          request_id\u003drequest_id,"},{"line_number":58,"context_line":"                                          auth_token\u003dauth_token)"},{"line_number":59,"context_line":"        self.user_name \u003d user_name"},{"line_number":60,"context_line":"        self.tenant_name \u003d tenant_name"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baada198_0ddd136d","line":58,"in_reply_to":"baada198_f6199923","updated":"2014-08-05 01:26:56.000000000","message":"We see auth_token as the first parameter of RequextContext.__init__().","commit_id":"e538de0462d40fab3e083dc0c706c7771bea1235"}],"neutron/tests/unit/test_auth.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"4f29692fe349055b2e805f7ebacec98674ed7fd3","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        self.request.headers[\u0027X_USER_ID\u0027] \u003d \u0027testuserid\u0027"},{"line_number":109,"context_line":"        del self.request.headers[\u0027X_AUTH_TOKEN\u0027]"},{"line_number":110,"context_line":"        self.request.get_response(self.middleware)"},{"line_number":111,"context_line":"        self.assertEqual(self.context.auth_token, None)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_122cd548","line":111,"updated":"2014-08-07 20:10:10.000000000","message":"assertIsNone","commit_id":"f832ba243009c96db02488661fd4aea412760333"},{"author":{"_account_id":333,"name":"Isaku Yamahata","email":"isaku.yamahata@gmail.com","username":"yamahata"},"change_message_id":"9897ff561835c594f32f817a27d5e9c3eb77a8b8","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        self.request.headers[\u0027X_USER_ID\u0027] \u003d \u0027testuserid\u0027"},{"line_number":109,"context_line":"        del self.request.headers[\u0027X_AUTH_TOKEN\u0027]"},{"line_number":110,"context_line":"        self.request.get_response(self.middleware)"},{"line_number":111,"context_line":"        self.assertEqual(self.context.auth_token, None)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_c310aef6","line":111,"in_reply_to":"baada198_122cd548","updated":"2014-08-08 16:48:57.000000000","message":"Done","commit_id":"f832ba243009c96db02488661fd4aea412760333"}]}
