)]}'
{"swiftclient/client.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"025563cf8c42eef1e198ea4780963d96648245d3","unresolved":false,"context_lines":[{"line_number":1457,"context_line":"                    raise"},{"line_number":1458,"context_line":"            sleep(backoff)"},{"line_number":1459,"context_line":"            backoff \u003d min(backoff * 2, self.max_backoff)"},{"line_number":1460,"context_line":"            if reset_func and not retried_auth:"},{"line_number":1461,"context_line":"                reset_func(func, *args, **kwargs)"},{"line_number":1462,"context_line":""},{"line_number":1463,"context_line":"    def head_account(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_c27f7215","line":1460,"updated":"2015-11-18 20:04:32.000000000","message":"How certain are we that requests hasn\u0027t touched the body yet?","commit_id":"33291a6e56d87fee977682e401e5a20c7c84fcd8"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"fc7a031fefeab18ee6f991122484f17990413c65","unresolved":false,"context_lines":[{"line_number":1457,"context_line":"                    raise"},{"line_number":1458,"context_line":"            sleep(backoff)"},{"line_number":1459,"context_line":"            backoff \u003d min(backoff * 2, self.max_backoff)"},{"line_number":1460,"context_line":"            if reset_func and not retried_auth:"},{"line_number":1461,"context_line":"                reset_func(func, *args, **kwargs)"},{"line_number":1462,"context_line":""},{"line_number":1463,"context_line":"    def head_account(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_d7b2c093","line":1460,"in_reply_to":"ba8a016a_a6a27bfa","updated":"2015-11-19 06:12:31.000000000","message":"...on the server side, right? What about on the client? Has the requests library start filling buffers with the data it wants to send already? If so, the body file-like has been advanced, so the retry will be missing data off the front of the object.\n\nMaybe requests actually *does* check for a response (such as 401) before touching the body, I\u0027m not actually sure. But without something like 100-continue support, I\u0027m skeptical.","commit_id":"33291a6e56d87fee977682e401e5a20c7c84fcd8"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"c56e34a39d96daaa3d619361bd7d5c27515c69c6","unresolved":false,"context_lines":[{"line_number":1457,"context_line":"                    raise"},{"line_number":1458,"context_line":"            sleep(backoff)"},{"line_number":1459,"context_line":"            backoff \u003d min(backoff * 2, self.max_backoff)"},{"line_number":1460,"context_line":"            if reset_func and not retried_auth:"},{"line_number":1461,"context_line":"                reset_func(func, *args, **kwargs)"},{"line_number":1462,"context_line":""},{"line_number":1463,"context_line":"    def head_account(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_a6a27bfa","line":1460,"in_reply_to":"ba8a016a_c27f7215","updated":"2015-11-18 22:55:19.000000000","message":"It\u0027s 100% untouched. The request was blocked by keystonemiddleware and technically service code hasn\u0027t been executed.","commit_id":"33291a6e56d87fee977682e401e5a20c7c84fcd8"},{"author":{"_account_id":9216,"name":"Joel Wright","email":"joel.wright@gmail.com","username":"jjw-sohonet"},"change_message_id":"405b791febca99be2a6af4e232bffbe4e967d0cf","unresolved":false,"context_lines":[{"line_number":1457,"context_line":"                    raise"},{"line_number":1458,"context_line":"            sleep(backoff)"},{"line_number":1459,"context_line":"            backoff \u003d min(backoff * 2, self.max_backoff)"},{"line_number":1460,"context_line":"            if reset_func and not retried_auth:"},{"line_number":1461,"context_line":"                reset_func(func, *args, **kwargs)"},{"line_number":1462,"context_line":""},{"line_number":1463,"context_line":"    def head_account(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_8737184c","line":1460,"in_reply_to":"ba8a016a_d7b2c093","updated":"2015-11-19 12:33:47.000000000","message":"After a (very simple) local test, I\u0027m fairly confident that requests starts reading the body immediately, and therefore will already have made some read calls before the 401 response comes back.","commit_id":"33291a6e56d87fee977682e401e5a20c7c84fcd8"}]}
