code: def default_handler(url, method, timeout, headers, data):
      
  
      def handle():
          request = Request(url, data=data)
          request.get_method = lambda: method
          for k, v in headers:
              request.add_header(k, v)
          resp = build_opener(HTTPHandler).open(request, timeout=timeout)
          if resp.code >= 400:
              raise IOError("error talking to pushgateway: {0} {1}".format(
                  resp.code, resp.msg))
  
      return handle
docs: Default handler that implements HTTP/HTTPS connections.
  
      Used by the push_to_gateway functions. Can be re-used by other handlers.