X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2FHTTPRequest.py;h=5f87484fa298611135ac9ee1d2e87e9b0ef129ba;hp=adf3d168eb67cb253ee57664b1a668eb3e9a16bc;hb=bd680a762d945b7970f7e62b7ee47776f0301f8c;hpb=4f4eaa1d52f3bdbe3caecdc1d6a024c369a2834a diff --git a/resources/libraries/python/HTTPRequest.py b/resources/libraries/python/HTTPRequest.py index adf3d168eb..5f87484fa2 100644 --- a/resources/libraries/python/HTTPRequest.py +++ b/resources/libraries/python/HTTPRequest.py @@ -18,6 +18,7 @@ The HTTP requests are implemented in the class HTTPRequest which uses requests.request. """ +from ipaddress import IPv6Address, AddressValueError from enum import IntEnum, unique from robot.api.deco import keyword @@ -26,6 +27,8 @@ from robot.libraries.BuiltIn import BuiltIn from requests import request, RequestException, Timeout, TooManyRedirects, \ HTTPError, ConnectionError +from requests.packages.urllib3 import disable_warnings +from requests.packages.urllib3.exceptions import InsecureRequestWarning from requests.auth import HTTPBasicAuth @@ -75,6 +78,9 @@ class HTTPRequestError(Exception): logger.error(self._msg) logger.debug(self._details) + # suppress warnings about disabled SSL verification + disable_warnings(InsecureRequestWarning) + def __repr__(self): return repr(self._msg) @@ -115,8 +121,16 @@ class HTTPRequest(object): :return: Full url. :rtype: str """ - return "http://{ip}:{port}{path}".format(ip=ip_addr, port=port, - path=path) + + try: + IPv6Address(unicode(ip_addr)) + # IPv6 address must be in brackets + ip_addr = "[{0}]".format(ip_addr) + except (AttributeError, AddressValueError): + pass + + return "https://{ip}:{port}{path}".format(ip=ip_addr, port=port, + path=path) @staticmethod def _http_request(method, node, path, enable_logging=True, **kwargs): @@ -190,7 +204,7 @@ class HTTPRequest(object): try: auth = HTTPBasicAuth(node['honeycomb']['user'], node['honeycomb']['passwd']) - rsp = request(method, url, auth=auth, **kwargs) + rsp = request(method, url, auth=auth, verify=False, **kwargs) logger.debug("Status code: {0}".format(rsp.status_code)) logger.debug("Response: {0}".format(rsp.content))