code: def request(
              self, method, url, timeout=None,
              headers=None, data=None, params=None
      ):
          
          if headers is None:
              headers = {}
          if not self.session:
              self._browser_init()
  
          try:
              response = self.session.request(
                  method,
                  url,
                  timeout=timeout,
                  allow_redirects=self._handle_redirect,
                  headers=headers,
                  data=data,
                  params=params
              )
          except SSLError as e:
              raise WEBConnectException(e)
          except HTTPError:
              raise WEBConnectException("Unable to load {}".format(url))
          except (Timeout, socket.timeout):
              raise WEBConnectException("Timeout loading {}".format(url))
          except ConnectionError:
              raise WEBConnectException("Failed to load {}".format(url))
          except Exception:
              self.exception("Failed to load {}".format(url))
              raise WEBConnectException(
                  "Unknown failure loading {}".format(url)
              )
          return response
docs: Make a request using the requests library
  
          :param method: Which http method to use (GET/POST)
          :type method: str | unicode
          :param url: Url to make request to
          :type url: str | unicode
          :param timeout: Timeout for request (default: None)
              None -> infinite timeout
          :type timeout: None | int | float
          :param headers: Headers to be passed along (default: None)
          :type headers: None | dict
          :param data: Data to be passed along (e.g. body in POST)
              (default: None)
          :type data: None | dict
          :param params: Parameters to be passed along (e.g. with url in GET)
              (default: None)
          :type params: None | dict
          :return: Response to the request
          :rtype: requests.Response
          :raises WEBConnectException: Loading failed