)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":22739,"name":"Zhuangqing Xiao","email":"zhuangqing.xiao@easystack.cn","username":"xiaozhuangqing"},"change_message_id":"4adbfee0fef3c95daaf8e98125f8f5e2c7ddf8c4","unresolved":false,"context_lines":[{"line_number":10,"context_line":"True to use system-installed certificates (default value)"},{"line_number":11,"context_line":"False to ignore certificate verification (use in development only!)"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"verify_ssl_cert can be set to /some/path/cert.crt to use a specific certificate or CA for SSL verification (good for self-signed certs)"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I678970731873914cf241bb5de472bfd18c420dae"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9ad45d7e_58f29bd3","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":135},"updated":"2016-08-09 02:47:23.000000000","message":"This sentence is so long :). more than 50 words","commit_id":"4da5778ec382f73d2ae766b507e2d7e1ad48aa68"}],"ceilometer/dispatcher/http.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"cac6ff6ef7a1a9af6e87be26366da59d423293fa","unresolved":false,"context_lines":[{"line_number":38,"context_line":"               default\u003d5,"},{"line_number":39,"context_line":"               help\u003d\u0027The max time in seconds to wait for a request to \u0027"},{"line_number":40,"context_line":"                    \u0027timeout.\u0027),"},{"line_number":41,"context_line":"    cfg.StrOpt(\u0027verify_ssl\u0027,"},{"line_number":42,"context_line":"               help\u003d\u0027The path to a server certificate if the usual CAs \u0027"},{"line_number":43,"context_line":"                    \u0027are not used or if a self-signed certificate is used. \u0027"},{"line_number":44,"context_line":"                    \u0027Set to False to ignore certificate verification.\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_ca5c0128","line":41,"updated":"2016-03-21 18:18:46.000000000","message":"We should create a oslo.config type called something like StrOrBoolOpt() that leverage the oslo_config.types.String and  oslo_config.types.Boolean and the same times.\n\nOtherwise the boolean here will be not follow the road as the oslo.config one. For example, the oslo_config.types.Boolean type allow false/0/off/true/1/on and whatever the case, when here we support only True/False.","commit_id":"d5572f972a59fca59ee33a63212b50803ec162b4"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"62a681ec6c82835db16591f883374bc6f34ee87d","unresolved":false,"context_lines":[{"line_number":38,"context_line":"               default\u003d5,"},{"line_number":39,"context_line":"               help\u003d\u0027The max time in seconds to wait for a request to \u0027"},{"line_number":40,"context_line":"                    \u0027timeout.\u0027),"},{"line_number":41,"context_line":"    cfg.StrOpt(\u0027verify_ssl\u0027,"},{"line_number":42,"context_line":"               help\u003d\u0027The path to a server certificate if the usual CAs \u0027"},{"line_number":43,"context_line":"                    \u0027are not used or if a self-signed certificate is used. \u0027"},{"line_number":44,"context_line":"                    \u0027Set to False to ignore certificate verification.\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_6edd4670","line":41,"in_reply_to":"fa0719c6_ca5c0128","updated":"2016-05-06 03:36:07.000000000","message":"I think if it not empty then we use it as path, otherwise, ignore will be enough\n\nwhy should the cloud deployer be so naughty, he should read the docs and get things done","commit_id":"d5572f972a59fca59ee33a63212b50803ec162b4"},{"author":{"_account_id":23037,"name":"Huachao Mao","email":"mao.huachao@99cloud.net","username":"huachaomao"},"change_message_id":"2f7d26db1350eee3f639c431ecba42ed4efcf92f","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    cfg.BoolOpt(\u0027verify_ssl\u0027,"},{"line_number":41,"context_line":"               default \u003d True,"},{"line_number":42,"context_line":"               help\u003d\u0027Set to False to ignore SSL certificate verification.\u0027),"},{"line_number":43,"context_line":"    cfg.StrOpt(\u0027verify_ssl_cert\u0027,"},{"line_number":44,"context_line":"               help\u003d\u0027The path to a server certificate if the usual CAs \u0027"},{"line_number":45,"context_line":"                    \u0027are not used or if a self-signed certificate is used.\u0027),"},{"line_number":46,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad45d7e_88c5015d","line":43,"range":{"start_line":43,"start_character":16,"end_line":43,"end_character":31},"updated":"2016-08-08 14:56:44.000000000","message":"can this be a path list if I have multiple certs in my machine?","commit_id":"4da5778ec382f73d2ae766b507e2d7e1ad48aa68"},{"author":{"_account_id":14768,"name":"Darren Hague","email":"d.hague@sap.com","username":"dhague"},"change_message_id":"dc34b09a65b7729b73bc5dc9502f607f30e67439","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    cfg.BoolOpt(\u0027verify_ssl\u0027,"},{"line_number":41,"context_line":"               default \u003d True,"},{"line_number":42,"context_line":"               help\u003d\u0027Set to False to ignore SSL certificate verification.\u0027),"},{"line_number":43,"context_line":"    cfg.StrOpt(\u0027verify_ssl_cert\u0027,"},{"line_number":44,"context_line":"               help\u003d\u0027The path to a server certificate if the usual CAs \u0027"},{"line_number":45,"context_line":"                    \u0027are not used or if a self-signed certificate is used.\u0027),"},{"line_number":46,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":4,"id":"9ad45d7e_3309e62d","line":43,"range":{"start_line":43,"start_character":16,"end_line":43,"end_character":31},"in_reply_to":"9ad45d7e_88c5015d","updated":"2016-08-08 15:04:41.000000000","message":"That would be a possible enhancement, but this option is intended for when you are talking to a specific server and therefore only the cert for that server needs to be specified.","commit_id":"4da5778ec382f73d2ae766b507e2d7e1ad48aa68"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"4b49ddc649bc3fadc8898720a50970d1c4afa566","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                             self.target)"},{"line_number":83,"context_line":"        self.verify_ssl \u003d self.conf.dispatcher_http.verify_ssl"},{"line_number":84,"context_line":"        verify_ssl_cert \u003d self.conf.dispatcher_http.verify_ssl_cert"},{"line_number":85,"context_line":"        if verify_ssl_cert:"},{"line_number":86,"context_line":"            self.verify_ssl \u003d verify_ssl_cert"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def record_metering_data(self, data):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad45d7e_02eb0914","line":85,"range":{"start_line":85,"start_character":26,"end_line":85,"end_character":27},"updated":"2016-08-11 09:04:22.000000000","message":"you don\u0027t need to read verify_ssl option if verify_ssl_cert option is set.\n\nif verify_ssl_cert: \n    self.verify_ssl \u003d verify_ssl_cert\nelse\n    self.verify_ssl \u003d self.conf.dispatcher_http.verify_ssl\n\nAlso, it would be nice to use a single option as gordc suggested, as long as you can make the option description clear to the user.","commit_id":"dc250968f1a2b9e7c343ab384545ad7578968ee0"},{"author":{"_account_id":14768,"name":"Darren Hague","email":"d.hague@sap.com","username":"dhague"},"change_message_id":"f8bd2ee5e1ef686fdf733f57e4724c24d50f7792","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                             self.target)"},{"line_number":83,"context_line":"        self.verify_ssl \u003d self.conf.dispatcher_http.verify_ssl"},{"line_number":84,"context_line":"        verify_ssl_cert \u003d self.conf.dispatcher_http.verify_ssl_cert"},{"line_number":85,"context_line":"        if verify_ssl_cert:"},{"line_number":86,"context_line":"            self.verify_ssl \u003d verify_ssl_cert"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def record_metering_data(self, data):"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad45d7e_784d523d","line":85,"range":{"start_line":85,"start_character":26,"end_line":85,"end_character":27},"in_reply_to":"9ad45d7e_02eb0914","updated":"2016-08-11 09:39:57.000000000","message":"Agreed - see my response to gordc\u0027s comment. I\u0027ll go back to using the single option.","commit_id":"dc250968f1a2b9e7c343ab384545ad7578968ee0"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"25d8732be21a7254219226aa35c37e6a8f0c000b","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        self.verify_ssl \u003d self.conf.dispatcher_http.verify_ssl"},{"line_number":84,"context_line":"        verify_ssl_cert \u003d self.conf.dispatcher_http.verify_ssl_cert"},{"line_number":85,"context_line":"        if verify_ssl_cert:"},{"line_number":86,"context_line":"            self.verify_ssl \u003d verify_ssl_cert"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def record_metering_data(self, data):"},{"line_number":89,"context_line":"        if self.target \u003d\u003d \u0027\u0027:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad45d7e_154b652b","line":86,"updated":"2016-08-10 16:35:50.000000000","message":"since you\u0027re just reusing verify param in requests, i think it\u0027s just simpler to have one option and explain it can be True/False/Path. that way, you don\u0027t need so many options and this logic here.","commit_id":"dc250968f1a2b9e7c343ab384545ad7578968ee0"},{"author":{"_account_id":14768,"name":"Darren Hague","email":"d.hague@sap.com","username":"dhague"},"change_message_id":"f8bd2ee5e1ef686fdf733f57e4724c24d50f7792","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        self.verify_ssl \u003d self.conf.dispatcher_http.verify_ssl"},{"line_number":84,"context_line":"        verify_ssl_cert \u003d self.conf.dispatcher_http.verify_ssl_cert"},{"line_number":85,"context_line":"        if verify_ssl_cert:"},{"line_number":86,"context_line":"            self.verify_ssl \u003d verify_ssl_cert"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def record_metering_data(self, data):"},{"line_number":89,"context_line":"        if self.target \u003d\u003d \u0027\u0027:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad45d7e_d8ef1e1c","line":86,"in_reply_to":"9ad45d7e_154b652b","updated":"2016-08-11 09:39:57.000000000","message":"I see what you mean. This was in response to sileht\u0027s comment on an earlier patchhset (https://review.openstack.org/#/c/295339/1/ceilometer/dispatcher/http.py@41) - this way seemed like less effort than creating a new type in oslo.config, waiting for that to get upstreamed and then using it here.\nI am all for simplicity though, so probably better to go back to how I first did it and just use the one config option which maps onto the verify param for requests.","commit_id":"dc250968f1a2b9e7c343ab384545ad7578968ee0"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"ccb5c250f2dcf18c70bcb1d3b08bd4abfbb8e6a1","unresolved":false,"context_lines":[{"line_number":39,"context_line":"               help\u003d\u0027The max time in seconds to wait for a request to \u0027"},{"line_number":40,"context_line":"                    \u0027timeout.\u0027),"},{"line_number":41,"context_line":"    cfg.StrOpt(\u0027verify_ssl\u0027,"},{"line_number":42,"context_line":"               default\u003dTrue,"},{"line_number":43,"context_line":"               help\u003d\u0027The path to a server certificate or directory if the \u0027"},{"line_number":44,"context_line":"                    \u0027system CAs are not used or if a self-signed certificate \u0027"},{"line_number":45,"context_line":"                    \u0027is used. Set to False to ignore SSL cert verification.\u0027),"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad45d7e_ba3fabb2","line":42,"updated":"2016-08-11 14:59:53.000000000","message":"i\u0027m not sure passing True into StrOpt will work. or if it should work.","commit_id":"5b55813035863e842773d84d8bd3af15e8b2ec78"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"5ede962522a737a09dcf27fbbf4fd8dc79107a25","unresolved":false,"context_lines":[{"line_number":39,"context_line":"               help\u003d\u0027The max time in seconds to wait for a request to \u0027"},{"line_number":40,"context_line":"                    \u0027timeout.\u0027),"},{"line_number":41,"context_line":"    cfg.StrOpt(\u0027verify_ssl\u0027,"},{"line_number":42,"context_line":"               default\u003dTrue,"},{"line_number":43,"context_line":"               help\u003d\u0027The path to a server certificate or directory if the \u0027"},{"line_number":44,"context_line":"                    \u0027system CAs are not used or if a self-signed certificate \u0027"},{"line_number":45,"context_line":"                    \u0027is used. Set to False to ignore SSL cert verification.\u0027),"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad45d7e_508e4b2e","line":42,"in_reply_to":"9ad45d7e_1a907794","updated":"2016-08-11 16:46:54.000000000","message":"if strutils.bool_from_string (with strict) works, you probably don\u0027t need a default and let None get raised as ValueError to be handled.","commit_id":"5b55813035863e842773d84d8bd3af15e8b2ec78"},{"author":{"_account_id":14768,"name":"Darren Hague","email":"d.hague@sap.com","username":"dhague"},"change_message_id":"4634d601da2d958e6b2ab8e2e2c75228ccfdc0c5","unresolved":false,"context_lines":[{"line_number":39,"context_line":"               help\u003d\u0027The max time in seconds to wait for a request to \u0027"},{"line_number":40,"context_line":"                    \u0027timeout.\u0027),"},{"line_number":41,"context_line":"    cfg.StrOpt(\u0027verify_ssl\u0027,"},{"line_number":42,"context_line":"               default\u003dTrue,"},{"line_number":43,"context_line":"               help\u003d\u0027The path to a server certificate or directory if the \u0027"},{"line_number":44,"context_line":"                    \u0027system CAs are not used or if a self-signed certificate \u0027"},{"line_number":45,"context_line":"                    \u0027is used. Set to False to ignore SSL cert verification.\u0027),"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad45d7e_8ea7040a","line":42,"in_reply_to":"9ad45d7e_508e4b2e","updated":"2016-08-11 17:16:08.000000000","message":"Done","commit_id":"5b55813035863e842773d84d8bd3af15e8b2ec78"},{"author":{"_account_id":14768,"name":"Darren Hague","email":"d.hague@sap.com","username":"dhague"},"change_message_id":"559bb3abfa744cd7cebc5c162048cfa6e028c220","unresolved":false,"context_lines":[{"line_number":39,"context_line":"               help\u003d\u0027The max time in seconds to wait for a request to \u0027"},{"line_number":40,"context_line":"                    \u0027timeout.\u0027),"},{"line_number":41,"context_line":"    cfg.StrOpt(\u0027verify_ssl\u0027,"},{"line_number":42,"context_line":"               default\u003dTrue,"},{"line_number":43,"context_line":"               help\u003d\u0027The path to a server certificate or directory if the \u0027"},{"line_number":44,"context_line":"                    \u0027system CAs are not used or if a self-signed certificate \u0027"},{"line_number":45,"context_line":"                    \u0027is used. Set to False to ignore SSL cert verification.\u0027),"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad45d7e_1a907794","line":42,"in_reply_to":"9ad45d7e_ba3fabb2","updated":"2016-08-11 15:12:57.000000000","message":"Good point - changed to the string \"True\"","commit_id":"5b55813035863e842773d84d8bd3af15e8b2ec78"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"ccb5c250f2dcf18c70bcb1d3b08bd4abfbb8e6a1","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        self.event_target \u003d (self.conf.dispatcher_http.event_target or"},{"line_number":82,"context_line":"                             self.target)"},{"line_number":83,"context_line":"        try:"},{"line_number":84,"context_line":"            self.verify_ssl \u003d types.Boolean()("},{"line_number":85,"context_line":"                self.conf.dispatcher_http.verify_ssl)"},{"line_number":86,"context_line":"        except ValueError:"},{"line_number":87,"context_line":"            self.verify_ssl \u003d self.conf.dispatcher_http.verify_ssl or True"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad45d7e_fa2e438a","line":84,"updated":"2016-08-11 14:59:53.000000000","message":"there is a helper function that may be able to do this a bit cleaner: http://docs.openstack.org/developer/oslo.utils/api/strutils.html#oslo_utils.strutils.bool_from_string","commit_id":"5b55813035863e842773d84d8bd3af15e8b2ec78"},{"author":{"_account_id":14768,"name":"Darren Hague","email":"d.hague@sap.com","username":"dhague"},"change_message_id":"4634d601da2d958e6b2ab8e2e2c75228ccfdc0c5","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        self.event_target \u003d (self.conf.dispatcher_http.event_target or"},{"line_number":82,"context_line":"                             self.target)"},{"line_number":83,"context_line":"        try:"},{"line_number":84,"context_line":"            self.verify_ssl \u003d types.Boolean()("},{"line_number":85,"context_line":"                self.conf.dispatcher_http.verify_ssl)"},{"line_number":86,"context_line":"        except ValueError:"},{"line_number":87,"context_line":"            self.verify_ssl \u003d self.conf.dispatcher_http.verify_ssl or True"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad45d7e_ce945c8c","line":84,"in_reply_to":"9ad45d7e_90b603f7","updated":"2016-08-11 17:16:08.000000000","message":"Missed that - does the job nicely. Thanks!","commit_id":"5b55813035863e842773d84d8bd3af15e8b2ec78"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"5ede962522a737a09dcf27fbbf4fd8dc79107a25","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        self.event_target \u003d (self.conf.dispatcher_http.event_target or"},{"line_number":82,"context_line":"                             self.target)"},{"line_number":83,"context_line":"        try:"},{"line_number":84,"context_line":"            self.verify_ssl \u003d types.Boolean()("},{"line_number":85,"context_line":"                self.conf.dispatcher_http.verify_ssl)"},{"line_number":86,"context_line":"        except ValueError:"},{"line_number":87,"context_line":"            self.verify_ssl \u003d self.conf.dispatcher_http.verify_ssl or True"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad45d7e_90b603f7","line":84,"in_reply_to":"9ad45d7e_9a5747c9","updated":"2016-08-11 16:46:54.000000000","message":"even with strict\u003dTrue?","commit_id":"5b55813035863e842773d84d8bd3af15e8b2ec78"},{"author":{"_account_id":14768,"name":"Darren Hague","email":"d.hague@sap.com","username":"dhague"},"change_message_id":"559bb3abfa744cd7cebc5c162048cfa6e028c220","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        self.event_target \u003d (self.conf.dispatcher_http.event_target or"},{"line_number":82,"context_line":"                             self.target)"},{"line_number":83,"context_line":"        try:"},{"line_number":84,"context_line":"            self.verify_ssl \u003d types.Boolean()("},{"line_number":85,"context_line":"                self.conf.dispatcher_http.verify_ssl)"},{"line_number":86,"context_line":"        except ValueError:"},{"line_number":87,"context_line":"            self.verify_ssl \u003d self.conf.dispatcher_http.verify_ssl or True"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad45d7e_9a5747c9","line":84,"in_reply_to":"9ad45d7e_fa2e438a","updated":"2016-08-11 15:12:57.000000000","message":"Unfortunately the helper function returns False for anything that doesn\u0027t evaluate to True (instead of throwing an exception for non-booleans), so there\u0027s no way to capture the cert path case.","commit_id":"5b55813035863e842773d84d8bd3af15e8b2ec78"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"02664e5da1d99807d09fa51dfca29a6171e58a40","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                LOG.debug(\u0027Meter message posting finished with status code \u0027"},{"line_number":118,"context_line":"                          \u0027%d.\u0027, res.status_code)"},{"line_number":119,"context_line":"                res.raise_for_status()"},{"line_number":120,"context_line":"            except requests.exceptions.HTTPError:"},{"line_number":121,"context_line":"                LOG.exception(_LE(\u0027Status Code: %{code}s. Failed to\u0027"},{"line_number":122,"context_line":"                                  \u0027dispatch meter: %{meter}s\u0027),"},{"line_number":123,"context_line":"                              {\u0027code\u0027: res.status_code, \u0027meter\u0027: meter})"}],"source_content_type":"text/x-python","patch_set":10,"id":"9ad45d7e_4fb6a1f9","line":120,"updated":"2016-08-11 20:02:42.000000000","message":"should this also handle an SSLError?\n\nhttp://docs.python-requests.org/en/master/user/advanced/#ssl-cert-verification","commit_id":"b1a0dc42b32df076dfa6ddd876bbdb1f579369d0"},{"author":{"_account_id":14768,"name":"Darren Hague","email":"d.hague@sap.com","username":"dhague"},"change_message_id":"5b0fc9c51583d36f07eef7e34145364e07a53082","unresolved":false,"context_lines":[{"line_number":117,"context_line":"                LOG.debug(\u0027Meter message posting finished with status code \u0027"},{"line_number":118,"context_line":"                          \u0027%d.\u0027, res.status_code)"},{"line_number":119,"context_line":"                res.raise_for_status()"},{"line_number":120,"context_line":"            except requests.exceptions.HTTPError:"},{"line_number":121,"context_line":"                LOG.exception(_LE(\u0027Status Code: %{code}s. Failed to\u0027"},{"line_number":122,"context_line":"                                  \u0027dispatch meter: %{meter}s\u0027),"},{"line_number":123,"context_line":"                              {\u0027code\u0027: res.status_code, \u0027meter\u0027: meter})"}],"source_content_type":"text/x-python","patch_set":10,"id":"9ad45d7e_ba077080","line":120,"in_reply_to":"9ad45d7e_4fb6a1f9","updated":"2016-08-12 12:39:59.000000000","message":"I don\u0027t think it should - SSL support was always there, I just made it more configurable. Any SSLError thrown will bubble up and be logged without the need for special handling here.","commit_id":"b1a0dc42b32df076dfa6ddd876bbdb1f579369d0"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"02664e5da1d99807d09fa51dfca29a6171e58a40","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                LOG.debug(\u0027Event Message posting finished with status code \u0027"},{"line_number":146,"context_line":"                          \u0027%d.\u0027, res.status_code)"},{"line_number":147,"context_line":"                res.raise_for_status()"},{"line_number":148,"context_line":"            except requests.exceptions.HTTPError:"},{"line_number":149,"context_line":"                LOG.exception(_LE(\u0027Status Code: %{code}s. Failed to\u0027"},{"line_number":150,"context_line":"                                  \u0027dispatch event: %{event}s\u0027),"},{"line_number":151,"context_line":"                              {\u0027code\u0027: res.status_code, \u0027event\u0027: event})"}],"source_content_type":"text/x-python","patch_set":10,"id":"9ad45d7e_afd11d25","line":148,"updated":"2016-08-11 20:02:42.000000000","message":"should this also handle an SSLError?\n\nhttp://docs.python-requests.org/en/master/user/advanced/#ssl-cert-verification","commit_id":"b1a0dc42b32df076dfa6ddd876bbdb1f579369d0"},{"author":{"_account_id":14768,"name":"Darren Hague","email":"d.hague@sap.com","username":"dhague"},"change_message_id":"5b0fc9c51583d36f07eef7e34145364e07a53082","unresolved":false,"context_lines":[{"line_number":145,"context_line":"                LOG.debug(\u0027Event Message posting finished with status code \u0027"},{"line_number":146,"context_line":"                          \u0027%d.\u0027, res.status_code)"},{"line_number":147,"context_line":"                res.raise_for_status()"},{"line_number":148,"context_line":"            except requests.exceptions.HTTPError:"},{"line_number":149,"context_line":"                LOG.exception(_LE(\u0027Status Code: %{code}s. Failed to\u0027"},{"line_number":150,"context_line":"                                  \u0027dispatch event: %{event}s\u0027),"},{"line_number":151,"context_line":"                              {\u0027code\u0027: res.status_code, \u0027event\u0027: event})"}],"source_content_type":"text/x-python","patch_set":10,"id":"9ad45d7e_5af7548c","line":148,"in_reply_to":"9ad45d7e_afd11d25","updated":"2016-08-12 12:39:59.000000000","message":"See previous comment","commit_id":"b1a0dc42b32df076dfa6ddd876bbdb1f579369d0"},{"author":{"_account_id":22739,"name":"Zhuangqing Xiao","email":"zhuangqing.xiao@easystack.cn","username":"xiaozhuangqing"},"change_message_id":"bcd942bb672fb3403a6a7b2a68b023883ba7e51e","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                          \u0027%d.\u0027, res.status_code)"},{"line_number":147,"context_line":"                res.raise_for_status()"},{"line_number":148,"context_line":"            except requests.exceptions.HTTPError:"},{"line_number":149,"context_line":"                LOG.exception(_LE(\u0027Status Code: %{code}s. Failed to\u0027"},{"line_number":150,"context_line":"                                  \u0027dispatch event: %{event}s\u0027),"},{"line_number":151,"context_line":"                              {\u0027code\u0027: res.status_code, \u0027event\u0027: event})"}],"source_content_type":"text/x-python","patch_set":11,"id":"3ac371cc_195fad73","line":149,"range":{"start_line":149,"start_character":34,"end_line":149,"end_character":68},"updated":"2016-08-15 05:48:15.000000000","message":"\u0027Status Code: %{code}s. Failed to \u0027\n\nand a blank","commit_id":"2fca7ebd7c6a4d29c8a320fffd035ed9814e8293"},{"author":{"_account_id":14768,"name":"Darren Hague","email":"d.hague@sap.com","username":"dhague"},"change_message_id":"2171f4dcd2f3a9adeb2df7df3d1417068a50a258","unresolved":false,"context_lines":[{"line_number":146,"context_line":"                          \u0027%d.\u0027, res.status_code)"},{"line_number":147,"context_line":"                res.raise_for_status()"},{"line_number":148,"context_line":"            except requests.exceptions.HTTPError:"},{"line_number":149,"context_line":"                LOG.exception(_LE(\u0027Status Code: %{code}s. Failed to\u0027"},{"line_number":150,"context_line":"                                  \u0027dispatch event: %{event}s\u0027),"},{"line_number":151,"context_line":"                              {\u0027code\u0027: res.status_code, \u0027event\u0027: event})"}],"source_content_type":"text/x-python","patch_set":11,"id":"3ac371cc_85696e8e","line":149,"range":{"start_line":149,"start_character":34,"end_line":149,"end_character":68},"in_reply_to":"3ac371cc_195fad73","updated":"2016-08-15 07:47:41.000000000","message":"Good catch - I have another HTTPDispatcher feature on the way after this one, so I\u0027ll fix it there.","commit_id":"2fca7ebd7c6a4d29c8a320fffd035ed9814e8293"}]}
