)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"0fa1038c3452c54416d464c2452af202f4307da9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Tristan Cacqueray \u003ctristan.cacqueray@enovance.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-01-29 09:59:48 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add SSL certificate verification by default"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Switch to python-requests to handle http and https scheme. This is a"},{"line_number":10,"context_line":"work in progress, ssl tests are still missing."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAUH%2F%2BL%2B4%3D","line":7,"updated":"2014-01-31 08:14:46.000000000","message":"I think the title should be port to python requests as this is more worthwhile to mention here than the SSL verification","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"01fccd918ef1f5a364a7c55ccc81031fb80b3dc7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Tristan Cacqueray \u003ctristan.cacqueray@enovance.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-01-29 09:59:48 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add SSL certificate verification by default"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Switch to python-requests to handle http and https scheme. This is a"},{"line_number":10,"context_line":"work in progress, ssl tests are still missing."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAUH%2F96Xg%3D","line":7,"in_reply_to":"AAAAUH%2F%2BL%2B4%3D","updated":"2014-02-03 11:53:38.000000000","message":"Done","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"267f5669d4fbd074c4bb6a7b1151fc1de71a721e","unresolved":false,"context_lines":[{"line_number":10,"context_line":"work in progress, ssl tests are still missing."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib5de962f4102d57c71ad85fd81a615362ef175dc"},{"line_number":13,"context_line":"Fixes-Bug: #1199783"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAUH%2F9%2Fnw%3D","line":13,"updated":"2014-01-31 08:16:30.000000000","message":"Closes-Bug: #10010\n\nis the proper syntax","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"01fccd918ef1f5a364a7c55ccc81031fb80b3dc7","unresolved":false,"context_lines":[{"line_number":10,"context_line":"work in progress, ssl tests are still missing."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib5de962f4102d57c71ad85fd81a615362ef175dc"},{"line_number":13,"context_line":"Fixes-Bug: #1199783"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAUH%2F96Xk%3D","line":13,"in_reply_to":"AAAAUH%2F9%2Fnw%3D","updated":"2014-02-03 11:53:38.000000000","message":"Done","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":7817,"name":"Thomas Leaman","email":"thomas.leaman@hp.com","username":"bugsduggan"},"change_message_id":"cb967b34c12a6255ee9a562f393f58f0e16acdbc","unresolved":false,"context_lines":[{"line_number":18,"context_line":"* SSL certificate verification (with \u0027insecure\u0027 and \u0027cacert\u0027 parameter)."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"This patch have been tested with requests 1.1.0 (CentOS 6) and requests"},{"line_number":21,"context_line":"2.2.1 (current version)."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: Ib5de962f4102d57c71ad85fd81a615362ef175dc"},{"line_number":24,"context_line":"Closes-Bug: #1199783"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"AAAAUX%2F%2FjyQ%3D","line":21,"updated":"2014-02-12 11:02:31.000000000","message":"I think this should have the [DocImpact] marker too.","commit_id":"b23dbd08e1e94820a7e8b8a9b43fc64aeb0481d7"}],"bin/swift":[{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"0fa1038c3452c54416d464c2452af202f4307da9","unresolved":false,"context_lines":[{"line_number":1348,"context_line":"                      action\u003d\"store_true\", dest\u003d\"insecure\","},{"line_number":1349,"context_line":"                      default\u003ddefault_val,"},{"line_number":1350,"context_line":"                      help\u003d\u0027Allow swiftclient to access servers without \u0027"},{"line_number":1351,"context_line":"                           \u0027verifying the SSL certificate. \u0027"},{"line_number":1352,"context_line":"                           \u0027Defaults to env[SWIFTCLIENT_INSECURE] \u0027"},{"line_number":1353,"context_line":"                           \u0027(set to \\\u0027true\\\u0027 to enable).\u0027)"},{"line_number":1354,"context_line":"    parser.add_option(\u0027--no-ssl-compression\u0027,"}],"source_content_type":"text/x-swift","patch_set":7,"id":"AAAAUH%2F9%2Fro%3D","line":1351,"updated":"2014-01-31 08:14:46.000000000","message":"(nit) \"without having to verify the SSL\"","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"01fccd918ef1f5a364a7c55ccc81031fb80b3dc7","unresolved":false,"context_lines":[{"line_number":1348,"context_line":"                      action\u003d\"store_true\", dest\u003d\"insecure\","},{"line_number":1349,"context_line":"                      default\u003ddefault_val,"},{"line_number":1350,"context_line":"                      help\u003d\u0027Allow swiftclient to access servers without \u0027"},{"line_number":1351,"context_line":"                           \u0027verifying the SSL certificate. \u0027"},{"line_number":1352,"context_line":"                           \u0027Defaults to env[SWIFTCLIENT_INSECURE] \u0027"},{"line_number":1353,"context_line":"                           \u0027(set to \\\u0027true\\\u0027 to enable).\u0027)"},{"line_number":1354,"context_line":"    parser.add_option(\u0027--no-ssl-compression\u0027,"}],"source_content_type":"text/x-swift","patch_set":7,"id":"AAAAUH%2F96XY%3D","line":1351,"in_reply_to":"AAAAUH%2F9%2Fro%3D","updated":"2014-02-03 11:53:38.000000000","message":"Done","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"0fa1038c3452c54416d464c2452af202f4307da9","unresolved":false,"context_lines":[{"line_number":1382,"context_line":"        parser.usage \u003d globals()[\u0027st_%s_help\u0027 % args[0]]"},{"line_number":1383,"context_line":"        try:"},{"line_number":1384,"context_line":"            globals()[\u0027st_%s\u0027 % args[0]](parser, argv[1:], thread_manager)"},{"line_number":1385,"context_line":"        except (ClientException, ConnectionError, SSLError) as err:"},{"line_number":1386,"context_line":"            thread_manager.error(str(err))"},{"line_number":1387,"context_line":""},{"line_number":1388,"context_line":"        had_error \u003d thread_manager.error_count"}],"source_content_type":"text/x-swift","patch_set":7,"id":"AAAAUH%2F9%2Frk%3D","line":1385,"updated":"2014-01-31 08:14:46.000000000","message":"socket.error is not catched anymore? isn\u0027t that\u0027s a catch-all for everything socket wise?","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"01fccd918ef1f5a364a7c55ccc81031fb80b3dc7","unresolved":false,"context_lines":[{"line_number":1382,"context_line":"        parser.usage \u003d globals()[\u0027st_%s_help\u0027 % args[0]]"},{"line_number":1383,"context_line":"        try:"},{"line_number":1384,"context_line":"            globals()[\u0027st_%s\u0027 % args[0]](parser, argv[1:], thread_manager)"},{"line_number":1385,"context_line":"        except (ClientException, ConnectionError, SSLError) as err:"},{"line_number":1386,"context_line":"            thread_manager.error(str(err))"},{"line_number":1387,"context_line":""},{"line_number":1388,"context_line":"        had_error \u003d thread_manager.error_count"}],"source_content_type":"text/x-swift","patch_set":7,"id":"AAAAUH%2F96X8%3D","line":1385,"in_reply_to":"AAAAUH%2F9%2Frk%3D","updated":"2014-02-03 11:53:38.000000000","message":"I think socket.error are now converted in RequestException. Anyway I messed up with requests exception, socket.error catch will be restored in next patch","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":7817,"name":"Thomas Leaman","email":"thomas.leaman@hp.com","username":"bugsduggan"},"change_message_id":"cb967b34c12a6255ee9a562f393f58f0e16acdbc","unresolved":false,"context_lines":[{"line_number":1397,"context_line":"                      default\u003dTrue,"},{"line_number":1398,"context_line":"                      help\u003d\u0027This option is deprecated and not used anymore. \u0027"},{"line_number":1399,"context_line":"                           \u0027SSL compression should be disabled by default \u0027"},{"line_number":1400,"context_line":"                           \u0027by the system SSL library\u0027)"},{"line_number":1401,"context_line":"    parser.disable_interspersed_args()"},{"line_number":1402,"context_line":"    (options, args) \u003d parse_args(parser, argv[1:], enforce_requires\u003dFalse)"},{"line_number":1403,"context_line":"    parser.enable_interspersed_args()"}],"source_content_type":"text/x-swift","patch_set":10,"id":"AAAAUX%2F%2FjyY%3D","line":1400,"updated":"2014-02-12 11:02:31.000000000","message":"Is this also true when using requests 1.1.0?","commit_id":"b23dbd08e1e94820a7e8b8a9b43fc64aeb0481d7"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"890a032eae636a2c57974847330acd709b3b8d32","unresolved":false,"context_lines":[{"line_number":1397,"context_line":"                      default\u003dTrue,"},{"line_number":1398,"context_line":"                      help\u003d\u0027This option is deprecated and not used anymore. \u0027"},{"line_number":1399,"context_line":"                           \u0027SSL compression should be disabled by default \u0027"},{"line_number":1400,"context_line":"                           \u0027by the system SSL library\u0027)"},{"line_number":1401,"context_line":"    parser.disable_interspersed_args()"},{"line_number":1402,"context_line":"    (options, args) \u003d parse_args(parser, argv[1:], enforce_requires\u003dFalse)"},{"line_number":1403,"context_line":"    parser.enable_interspersed_args()"}],"source_content_type":"text/x-swift","patch_set":10,"id":"AAAAUX%2F%2Fjeg%3D","line":1400,"in_reply_to":"AAAAUX%2F%2FjyY%3D","updated":"2014-02-12 11:59:46.000000000","message":"I can confirm that requests 1.1.0 will not compress SSL traffic on ubuntu-13.10 (which is powered by openssl-1.0.1e-3ubuntu1.1).","commit_id":"b23dbd08e1e94820a7e8b8a9b43fc64aeb0481d7"}],"swiftclient/client.py":[{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"0fa1038c3452c54416d464c2452af202f4307da9","unresolved":false,"context_lines":[{"line_number":24,"context_line":"import warnings"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from distutils.version import StrictVersion"},{"line_number":27,"context_line":"from requests import RequestException as HTTPException"},{"line_number":28,"context_line":"from requests.exceptions import ConnectionError, SSLError"},{"line_number":29,"context_line":"from urllib import quote as _quote"},{"line_number":30,"context_line":"from urlparse import urlparse, urlunparse"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F9%2Frc%3D","line":27,"updated":"2014-01-31 08:14:46.000000000","message":"I understand you are trying to match the old code style but would be nice to just use the standard requests names in further patches.","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"01fccd918ef1f5a364a7c55ccc81031fb80b3dc7","unresolved":false,"context_lines":[{"line_number":24,"context_line":"import warnings"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from distutils.version import StrictVersion"},{"line_number":27,"context_line":"from requests import RequestException as HTTPException"},{"line_number":28,"context_line":"from requests.exceptions import ConnectionError, SSLError"},{"line_number":29,"context_line":"from urllib import quote as _quote"},{"line_number":30,"context_line":"from urlparse import urlparse, urlunparse"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F96Xs%3D","line":27,"in_reply_to":"AAAAUH%2F9%2Frc%3D","updated":"2014-02-03 11:53:38.000000000","message":"Done","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"0fa1038c3452c54416d464c2452af202f4307da9","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from distutils.version import StrictVersion"},{"line_number":27,"context_line":"from requests import RequestException as HTTPException"},{"line_number":28,"context_line":"from requests.exceptions import ConnectionError, SSLError"},{"line_number":29,"context_line":"from urllib import quote as _quote"},{"line_number":30,"context_line":"from urlparse import urlparse, urlunparse"},{"line_number":31,"context_line":"from time import sleep, time"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F9%2Fqw%3D","line":28,"updated":"2014-01-31 08:14:46.000000000","message":"SSLError is unused.","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"01fccd918ef1f5a364a7c55ccc81031fb80b3dc7","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"from distutils.version import StrictVersion"},{"line_number":27,"context_line":"from requests import RequestException as HTTPException"},{"line_number":28,"context_line":"from requests.exceptions import ConnectionError, SSLError"},{"line_number":29,"context_line":"from urllib import quote as _quote"},{"line_number":30,"context_line":"from urlparse import urlparse, urlunparse"},{"line_number":31,"context_line":"from time import sleep, time"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F96Xw%3D","line":28,"in_reply_to":"AAAAUH%2F9%2Fqw%3D","updated":"2014-02-03 11:53:38.000000000","message":"Agree, again I messed up with requests exception hierarchy.","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"0fa1038c3452c54416d464c2452af202f4307da9","unresolved":false,"context_lines":[{"line_number":918,"context_line":"    if hasattr(contents, \u0027read\u0027):"},{"line_number":919,"context_line":"        if chunk_size is None:"},{"line_number":920,"context_line":"            chunk_size \u003d 65536"},{"line_number":921,"context_line":"        conn.putrequest(path, headers, files\u003d{\"file\": contents})"},{"line_number":922,"context_line":"    else:"},{"line_number":923,"context_line":"        if chunk_size is not None:"},{"line_number":924,"context_line":"            warn_msg \u003d \u0027%s object has no \\\"read\\\" method, ignoring chunk_size\u0027\\"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F9%2FqE%3D","line":921,"updated":"2014-01-31 08:14:46.000000000","message":"is requests \u0027PUT\u0027 files chunked by default?","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"01fccd918ef1f5a364a7c55ccc81031fb80b3dc7","unresolved":false,"context_lines":[{"line_number":918,"context_line":"    if hasattr(contents, \u0027read\u0027):"},{"line_number":919,"context_line":"        if chunk_size is None:"},{"line_number":920,"context_line":"            chunk_size \u003d 65536"},{"line_number":921,"context_line":"        conn.putrequest(path, headers, files\u003d{\"file\": contents})"},{"line_number":922,"context_line":"    else:"},{"line_number":923,"context_line":"        if chunk_size is not None:"},{"line_number":924,"context_line":"            warn_msg \u003d \u0027%s object has no \\\"read\\\" method, ignoring chunk_size\u0027\\"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F96Ww%3D","line":921,"in_reply_to":"AAAAUH%2F9%2FqE%3D","updated":"2014-02-03 11:53:38.000000000","message":"Indeed it does not with files, This will require a generator, as described there: http://docs.python-requests.org/en/latest/user/advanced/#chunk-encoded-requests","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"0fa1038c3452c54416d464c2452af202f4307da9","unresolved":false,"context_lines":[{"line_number":1147,"context_line":"                rv \u003d func(self.url, self.token, *args, **kwargs)"},{"line_number":1148,"context_line":"                self._add_response_dict(caller_response_dict, kwargs)"},{"line_number":1149,"context_line":"                return rv"},{"line_number":1150,"context_line":"            except (ConnectionError, SSLError) as e:"},{"line_number":1151,"context_line":"                raise"},{"line_number":1152,"context_line":"            except (socket.error, HTTPException) as e:"},{"line_number":1153,"context_line":"                self._add_response_dict(caller_response_dict, kwargs)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F9%2FqU%3D","line":1150,"updated":"2014-01-31 08:14:46.000000000","message":"is it needed?","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"01fccd918ef1f5a364a7c55ccc81031fb80b3dc7","unresolved":false,"context_lines":[{"line_number":1147,"context_line":"                rv \u003d func(self.url, self.token, *args, **kwargs)"},{"line_number":1148,"context_line":"                self._add_response_dict(caller_response_dict, kwargs)"},{"line_number":1149,"context_line":"                return rv"},{"line_number":1150,"context_line":"            except (ConnectionError, SSLError) as e:"},{"line_number":1151,"context_line":"                raise"},{"line_number":1152,"context_line":"            except (socket.error, HTTPException) as e:"},{"line_number":1153,"context_line":"                self._add_response_dict(caller_response_dict, kwargs)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F96X0%3D","line":1150,"in_reply_to":"AAAAUH%2F9%2FqU%3D","updated":"2014-02-03 11:53:38.000000000","message":"I think SSLError wouldn\u0027t be solved by retrying, anyway I removed that catch in next patch","commit_id":"d0b143bc929c38cbd074a990534ca0702461962a"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"25770c7f04f18c711e49db81967ef0a41c83951e","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        :param insecure: Allow to access servers without checking SSL certs."},{"line_number":145,"context_line":"                         The server\u0027s certificate will not be verified."},{"line_number":146,"context_line":"        :param ssl_compression: Whether to enable compression at the SSL layer."},{"line_number":147,"context_line":"                                If set to \u0027False\u0027 and the pyOpenSSL library is"},{"line_number":148,"context_line":"                                present an attempt to disable SSL compression"},{"line_number":149,"context_line":"                                will be made. This may provide a performance"},{"line_number":150,"context_line":"                                increase for https upload/download operations."}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAUH%2F91tw%3D","line":147,"updated":"2014-02-03 13:04:52.000000000","message":"This should state that ssl compression disabling is not implemented yet","commit_id":"e496346f4032da27706740c4473faf41473afb13"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"88e4e4b199588b8942a390e9732b81b1c68f5a83","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                            present an attempt to disable SSL compression"},{"line_number":137,"context_line":"                            will be made. This may provide a performance"},{"line_number":138,"context_line":"                            increase for https upload/download operations."},{"line_number":139,"context_line":"    :returns: tuple of (parsed url, connection object)"},{"line_number":140,"context_line":"    :raises ClientException: Unable to handle protocol scheme"},{"line_number":141,"context_line":"    \"\"\""},{"line_number":142,"context_line":"    url \u003d encode_utf8(url)"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F9fcU%3D","side":"PARENT","line":139,"updated":"2014-02-06 15:31:22.000000000","message":"I think you inadvertently removed the returns documentation","commit_id":"9b73547b7de004fe623e454c425e9deee5d3d0ca"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"f2c3f86023a42bcee28a7d8b99eefe9703b08d16","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                            present an attempt to disable SSL compression"},{"line_number":137,"context_line":"                            will be made. This may provide a performance"},{"line_number":138,"context_line":"                            increase for https upload/download operations."},{"line_number":139,"context_line":"    :returns: tuple of (parsed url, connection object)"},{"line_number":140,"context_line":"    :raises ClientException: Unable to handle protocol scheme"},{"line_number":141,"context_line":"    \"\"\""},{"line_number":142,"context_line":"    url \u003d encode_utf8(url)"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUX%2F%2F2pI%3D","side":"PARENT","line":139,"in_reply_to":"AAAAUH%2F9fEk%3D","updated":"2014-02-10 12:05:59.000000000","message":"Sounds good so the documentation was wrong previously.","commit_id":"9b73547b7de004fe623e454c425e9deee5d3d0ca"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"93c13115e131e2e2c6cedde234156b4730156a28","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                            present an attempt to disable SSL compression"},{"line_number":137,"context_line":"                            will be made. This may provide a performance"},{"line_number":138,"context_line":"                            increase for https upload/download operations."},{"line_number":139,"context_line":"    :returns: tuple of (parsed url, connection object)"},{"line_number":140,"context_line":"    :raises ClientException: Unable to handle protocol scheme"},{"line_number":141,"context_line":"    \"\"\""},{"line_number":142,"context_line":"    url \u003d encode_utf8(url)"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F9fEk%3D","side":"PARENT","line":139,"in_reply_to":"AAAAUH%2F9fcU%3D","updated":"2014-02-06 16:01:25.000000000","message":"I moved the return comment to the related function, L215 of this file","commit_id":"9b73547b7de004fe623e454c425e9deee5d3d0ca"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"88e4e4b199588b8942a390e9732b81b1c68f5a83","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                                parameter is kept for backward compatibility."},{"line_number":149,"context_line":"        :raises ClientException: Unable to handle protocol scheme"},{"line_number":150,"context_line":"        \"\"\""},{"line_number":151,"context_line":"        self.url \u003d url"},{"line_number":152,"context_line":"        self.parsed_url \u003d urlparse(url)"},{"line_number":153,"context_line":"        self.host \u003d self.parsed_url.netloc"},{"line_number":154,"context_line":"        self.port \u003d self.parsed_url.port"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F9fak%3D","line":151,"updated":"2014-02-06 15:31:22.000000000","message":"Should the URL utf8 encoded or is that done downstream by requests?","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"f2c3f86023a42bcee28a7d8b99eefe9703b08d16","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                                parameter is kept for backward compatibility."},{"line_number":149,"context_line":"        :raises ClientException: Unable to handle protocol scheme"},{"line_number":150,"context_line":"        \"\"\""},{"line_number":151,"context_line":"        self.url \u003d url"},{"line_number":152,"context_line":"        self.parsed_url \u003d urlparse(url)"},{"line_number":153,"context_line":"        self.host \u003d self.parsed_url.netloc"},{"line_number":154,"context_line":"        self.port \u003d self.parsed_url.port"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUX%2F%2F2pY%3D","line":151,"in_reply_to":"AAAAUH%2F9fEA%3D","updated":"2014-02-10 12:05:59.000000000","message":"cool thanks.","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"93c13115e131e2e2c6cedde234156b4730156a28","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                                parameter is kept for backward compatibility."},{"line_number":149,"context_line":"        :raises ClientException: Unable to handle protocol scheme"},{"line_number":150,"context_line":"        \"\"\""},{"line_number":151,"context_line":"        self.url \u003d url"},{"line_number":152,"context_line":"        self.parsed_url \u003d urlparse(url)"},{"line_number":153,"context_line":"        self.host \u003d self.parsed_url.netloc"},{"line_number":154,"context_line":"        self.port \u003d self.parsed_url.port"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F9fEA%3D","line":151,"in_reply_to":"AAAAUH%2F9fak%3D","updated":"2014-02-06 16:01:25.000000000","message":"The url + the full_path will be utf-8 encoded before calling requests. see L180","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":7817,"name":"Thomas Leaman","email":"thomas.leaman@hp.com","username":"bugsduggan"},"change_message_id":"34264085fb6dcf63d9c67ed3eec62cf06c31a26f","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            raise ClientException(\"Unsupported scheme\")"},{"line_number":158,"context_line":"        self.requests_args[\u0027verify\u0027] \u003d not insecure"},{"line_number":159,"context_line":"        if cacert:"},{"line_number":160,"context_line":"            self.requests_args[\u0027verify\u0027] \u003d cacert"},{"line_number":161,"context_line":"        if proxy:"},{"line_number":162,"context_line":"            proxy_parsed \u003d urlparse(proxy)"},{"line_number":163,"context_line":"            if not proxy_parsed.scheme:"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F9eLQ%3D","line":160,"updated":"2014-02-07 17:13:32.000000000","message":"I think this should be\n\n    self.requests_args[\u0027cert\u0027] \u003d cacert","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"f2c3f86023a42bcee28a7d8b99eefe9703b08d16","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            raise ClientException(\"Unsupported scheme\")"},{"line_number":158,"context_line":"        self.requests_args[\u0027verify\u0027] \u003d not insecure"},{"line_number":159,"context_line":"        if cacert:"},{"line_number":160,"context_line":"            self.requests_args[\u0027verify\u0027] \u003d cacert"},{"line_number":161,"context_line":"        if proxy:"},{"line_number":162,"context_line":"            proxy_parsed \u003d urlparse(proxy)"},{"line_number":163,"context_line":"            if not proxy_parsed.scheme:"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUX%2F%2F2oQ%3D","line":160,"in_reply_to":"AAAAUH%2F9eLQ%3D","updated":"2014-02-10 12:05:59.000000000","message":"+1 to what thomas said.","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"10d0cf26688c3bd0a2a7059262583367aafb3a14","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            raise ClientException(\"Unsupported scheme\")"},{"line_number":158,"context_line":"        self.requests_args[\u0027verify\u0027] \u003d not insecure"},{"line_number":159,"context_line":"        if cacert:"},{"line_number":160,"context_line":"            self.requests_args[\u0027verify\u0027] \u003d cacert"},{"line_number":161,"context_line":"        if proxy:"},{"line_number":162,"context_line":"            proxy_parsed \u003d urlparse(proxy)"},{"line_number":163,"context_line":"            if not proxy_parsed.scheme:"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUX%2F%2Fsv0%3D","line":160,"in_reply_to":"AAAAUX%2F%2F2oQ%3D","updated":"2014-02-11 12:43:20.000000000","message":"I believe cacert should be pass with that \u0027verify\u0027 parameter. The \u0027cert\u0027 parameter is for client side certificate. Source: http://docs.python-requests.org/en/latest/user/advanced/#ssl-cert-verification\n\nAnd this is working with requests 1.1.0 and 2.2.1","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":7817,"name":"Thomas Leaman","email":"thomas.leaman@hp.com","username":"bugsduggan"},"change_message_id":"99127d241625582db9eb22fd45c73d2ec33e6da5","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            raise ClientException(\"Unsupported scheme\")"},{"line_number":158,"context_line":"        self.requests_args[\u0027verify\u0027] \u003d not insecure"},{"line_number":159,"context_line":"        if cacert:"},{"line_number":160,"context_line":"            self.requests_args[\u0027verify\u0027] \u003d cacert"},{"line_number":161,"context_line":"        if proxy:"},{"line_number":162,"context_line":"            proxy_parsed \u003d urlparse(proxy)"},{"line_number":163,"context_line":"            if not proxy_parsed.scheme:"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUX%2F%2FsLE%3D","line":160,"in_reply_to":"AAAAUX%2F%2FsRI%3D","updated":"2014-02-11 13:44:21.000000000","message":"Wow! Ok, I stand corrected! Might be worth adding a comment in here regarding that (I\u0027m sure I\u0027m not the first person to trip up on that).","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"9da3f675f4c2c7eeba2dfd61f153550c709e86c1","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            raise ClientException(\"Unsupported scheme\")"},{"line_number":158,"context_line":"        self.requests_args[\u0027verify\u0027] \u003d not insecure"},{"line_number":159,"context_line":"        if cacert:"},{"line_number":160,"context_line":"            self.requests_args[\u0027verify\u0027] \u003d cacert"},{"line_number":161,"context_line":"        if proxy:"},{"line_number":162,"context_line":"            proxy_parsed \u003d urlparse(proxy)"},{"line_number":163,"context_line":"            if not proxy_parsed.scheme:"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUX%2F%2FsRI%3D","line":160,"in_reply_to":"AAAAUX%2F%2FsdE%3D","updated":"2014-02-11 13:30:01.000000000","message":"It is confusing, but as you can see in the following source code, it is the way of doing it:\nhttps://github.com/kennethreitz/requests/blob/master/requests/adapters.py#L137","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":7817,"name":"Thomas Leaman","email":"thomas.leaman@hp.com","username":"bugsduggan"},"change_message_id":"be368a97daf0e89a1d7a0fc1613cc51a51d129f9","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            raise ClientException(\"Unsupported scheme\")"},{"line_number":158,"context_line":"        self.requests_args[\u0027verify\u0027] \u003d not insecure"},{"line_number":159,"context_line":"        if cacert:"},{"line_number":160,"context_line":"            self.requests_args[\u0027verify\u0027] \u003d cacert"},{"line_number":161,"context_line":"        if proxy:"},{"line_number":162,"context_line":"            proxy_parsed \u003d urlparse(proxy)"},{"line_number":163,"context_line":"            if not proxy_parsed.scheme:"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUX%2F%2FsdE%3D","line":160,"in_reply_to":"AAAAUX%2F%2Fsv0%3D","updated":"2014-02-11 13:00:31.000000000","message":"It looks to me like \u0027verify\u0027 is a boolean value, used to turn on/off cert checking. From what I understand of the docs you posted, the cert should be passed with the \u0027cert\u0027 parameter.","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"88e4e4b199588b8942a390e9732b81b1c68f5a83","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                    proxy_parsed.scheme, proxy_parsed.netloc"},{"line_number":168,"context_line":"                )"},{"line_number":169,"context_line":"            }"},{"line_number":170,"context_line":"        self.requests_args[\u0027stream\u0027] \u003d True"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def do_request(self, *arg, **kwarg):"},{"line_number":173,"context_line":"        \"\"\" Final wrapper before requests call, to be patched in tests \"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F9fYo%3D","line":170,"updated":"2014-02-06 15:31:22.000000000","message":"I guess this replicate the behaviour of the old implementation to always stream the GET (which would make sense)","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"93c13115e131e2e2c6cedde234156b4730156a28","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                    proxy_parsed.scheme, proxy_parsed.netloc"},{"line_number":168,"context_line":"                )"},{"line_number":169,"context_line":"            }"},{"line_number":170,"context_line":"        self.requests_args[\u0027stream\u0027] \u003d True"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def do_request(self, *arg, **kwarg):"},{"line_number":173,"context_line":"        \"\"\" Final wrapper before requests call, to be patched in tests \"\"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F9fC4%3D","line":170,"in_reply_to":"AAAAUH%2F9fYo%3D","updated":"2014-02-06 16:01:25.000000000","message":"Yes, like that the read method of response object works properly.","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"88e4e4b199588b8942a390e9732b81b1c68f5a83","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            }"},{"line_number":170,"context_line":"        self.requests_args[\u0027stream\u0027] \u003d True"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def do_request(self, *arg, **kwarg):"},{"line_number":173,"context_line":"        \"\"\" Final wrapper before requests call, to be patched in tests \"\"\""},{"line_number":174,"context_line":"        return requests.request(*arg, **kwarg)"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F9fYQ%3D","line":172,"updated":"2014-02-06 15:31:22.000000000","message":"isn\u0027t that supposed to be a private function or one of them between request and do_request could be ?","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"f2c3f86023a42bcee28a7d8b99eefe9703b08d16","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            }"},{"line_number":170,"context_line":"        self.requests_args[\u0027stream\u0027] \u003d True"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def do_request(self, *arg, **kwarg):"},{"line_number":173,"context_line":"        \"\"\" Final wrapper before requests call, to be patched in tests \"\"\""},{"line_number":174,"context_line":"        return requests.request(*arg, **kwarg)"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUX%2F%2F2n4%3D","line":172,"in_reply_to":"AAAAUH%2F9fAM%3D","updated":"2014-02-10 12:05:59.000000000","message":"I think that would make sense to set this  as private method (just _request should be fine with a bit of documentation explaining this is to make it easy to test).","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"93c13115e131e2e2c6cedde234156b4730156a28","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            }"},{"line_number":170,"context_line":"        self.requests_args[\u0027stream\u0027] \u003d True"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"    def do_request(self, *arg, **kwarg):"},{"line_number":173,"context_line":"        \"\"\" Final wrapper before requests call, to be patched in tests \"\"\""},{"line_number":174,"context_line":"        return requests.request(*arg, **kwarg)"},{"line_number":175,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F9fAM%3D","line":172,"in_reply_to":"AAAAUH%2F9fYQ%3D","updated":"2014-02-06 16:01:25.000000000","message":"This is just to allow the \u0027request\u0027 method to be tested without calling requests (when do_request is monkey patched). Particularly the headers and url encoding. Yes it is a private method... do you want me to add a \u0027_\u0027 before ?","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"88e4e4b199588b8942a390e9732b81b1c68f5a83","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        return self.request(\u0027PUT\u0027, full_path, data, headers, files)"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def getresponse(self):"},{"line_number":198,"context_line":"        \"\"\" Adapt requests response to httplib interface \"\"\""},{"line_number":199,"context_line":"        self.resp.status \u003d self.resp.status_code"},{"line_number":200,"context_line":"        old_getheader \u003d self.resp.raw.getheader"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F9fXc%3D","line":198,"updated":"2014-02-06 15:31:22.000000000","message":"do you mimic httplib interface just so that patch is not as big and easier to review? because that doesn\u0027t sounds really nice and I hope they would be a following cleanup review :)","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"93c13115e131e2e2c6cedde234156b4730156a28","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        return self.request(\u0027PUT\u0027, full_path, data, headers, files)"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def getresponse(self):"},{"line_number":198,"context_line":"        \"\"\" Adapt requests response to httplib interface \"\"\""},{"line_number":199,"context_line":"        self.resp.status \u003d self.resp.status_code"},{"line_number":200,"context_line":"        old_getheader \u003d self.resp.raw.getheader"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F9e%2BU%3D","line":198,"in_reply_to":"AAAAUH%2F9fXc%3D","updated":"2014-02-06 16:01:25.000000000","message":"That is correct, I didn\u0027t want to change most tests as this port haven\u0027t really been approved so...","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"}],"tests/test_swiftclient.py":[{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"0fa1038c3452c54416d464c2452af202f4307da9","unresolved":false,"context_lines":[{"line_number":564,"context_line":"        value \u003d c.put_object(*args, headers\u003dheaders, http_conn\u003dconn)"},{"line_number":565,"context_line":"        self.assertTrue(isinstance(value, basestring))"},{"line_number":566,"context_line":"        # Test for RFC-2616 encoded symbols"},{"line_number":567,"context_line":"        self.assertTrue(\"a-b: .x:yz mn:fg:lp\" in resp.buffer[0],"},{"line_number":568,"context_line":"                        \"[a-b: .x:yz mn:fg:lp] header is missing\")"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"    def test_chunk_warning(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F9%2FqA%3D","side":"PARENT","line":567,"updated":"2014-01-31 08:14:46.000000000","message":"why is this test removed/changed to just check the status?","commit_id":"b4907e0c816585d9b20a4119b00ee56adb884119"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"01fccd918ef1f5a364a7c55ccc81031fb80b3dc7","unresolved":false,"context_lines":[{"line_number":564,"context_line":"        value \u003d c.put_object(*args, headers\u003dheaders, http_conn\u003dconn)"},{"line_number":565,"context_line":"        self.assertTrue(isinstance(value, basestring))"},{"line_number":566,"context_line":"        # Test for RFC-2616 encoded symbols"},{"line_number":567,"context_line":"        self.assertTrue(\"a-b: .x:yz mn:fg:lp\" in resp.buffer[0],"},{"line_number":568,"context_line":"                        \"[a-b: .x:yz mn:fg:lp] header is missing\")"},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"    def test_chunk_warning(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F92Gs%3D","side":"PARENT","line":567,"in_reply_to":"AAAAUH%2F9%2FqA%3D","updated":"2014-02-03 11:53:38.000000000","message":"Firsts tests were easier that way, I restored that check in the next patch.","commit_id":"b4907e0c816585d9b20a4119b00ee56adb884119"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"88e4e4b199588b8942a390e9732b81b1c68f5a83","unresolved":false,"context_lines":[{"line_number":632,"context_line":"        conn[1].do_request \u003d resp.fake_do_request"},{"line_number":633,"context_line":"        c.post_object(*args, headers\u003dheaders, http_conn\u003dconn)"},{"line_number":634,"context_line":"        # Test for RFC-2616 encoded symbols"},{"line_number":635,"context_line":"        self.assertEquals(200, resp.status)"},{"line_number":636,"context_line":""},{"line_number":637,"context_line":"    def test_server_error(self):"},{"line_number":638,"context_line":"        body \u003d \u0027c\u0027 * 60"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F9fUo%3D","line":635,"updated":"2014-02-06 15:31:22.000000000","message":"it seems that you are changing the way works that test here, can you at least add a comment explaining why a 200 mean a chunk warning or why this is not valid when using requests .","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"change_message_id":"f2c3f86023a42bcee28a7d8b99eefe9703b08d16","unresolved":false,"context_lines":[{"line_number":632,"context_line":"        conn[1].do_request \u003d resp.fake_do_request"},{"line_number":633,"context_line":"        c.post_object(*args, headers\u003dheaders, http_conn\u003dconn)"},{"line_number":634,"context_line":"        # Test for RFC-2616 encoded symbols"},{"line_number":635,"context_line":"        self.assertEquals(200, resp.status)"},{"line_number":636,"context_line":""},{"line_number":637,"context_line":"    def test_server_error(self):"},{"line_number":638,"context_line":"        body \u003d \u0027c\u0027 * 60"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUX%2F%2F2nc%3D","line":635,"in_reply_to":"AAAAUH%2F9fG0%3D","updated":"2014-02-10 12:05:59.000000000","message":"feel free to add that comment directly int eh code.","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"},{"author":{"_account_id":9311,"name":"Tristan Cacqueray","email":"tdecacqu@redhat.com","username":"tristanC"},"change_message_id":"93c13115e131e2e2c6cedde234156b4730156a28","unresolved":false,"context_lines":[{"line_number":632,"context_line":"        conn[1].do_request \u003d resp.fake_do_request"},{"line_number":633,"context_line":"        c.post_object(*args, headers\u003dheaders, http_conn\u003dconn)"},{"line_number":634,"context_line":"        # Test for RFC-2616 encoded symbols"},{"line_number":635,"context_line":"        self.assertEquals(200, resp.status)"},{"line_number":636,"context_line":""},{"line_number":637,"context_line":"    def test_server_error(self):"},{"line_number":638,"context_line":"        body \u003d \u0027c\u0027 * 60"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F9fG0%3D","line":635,"in_reply_to":"AAAAUH%2F9fUo%3D","updated":"2014-02-06 16:01:25.000000000","message":"my bad, I thought I already restored former tests... it have somehow been lost. Httplib used \u0027send\u0027 for each header, Now that requests do all this work, I hacked MockHttpResponse.fake_do_requests to simulate that in order to pass this tests.","commit_id":"39d3377dcb759b4cf5960d2ec3f57ef8ae70e2d4"}]}
