code: def _request_helper(self, url, request_body):
          
          response = None
          # pylint: disable=try-except-raise
          try:
              response = self.session.post(
                  url, data=request_body, **self.request_defaults)
  
              # We expect utf-8 from the server
              response.encoding = 'UTF-8'
  
              # update/set any cookies
              if self._cookiejar is not None:
                  for cookie in response.cookies:
                      self._cookiejar.set_cookie(cookie)
  
                  if self._cookiejar.filename is not None:
                      # Save is required only if we have a filename
                      self._cookiejar.save()
  
              response.raise_for_status()
              return self.parse_response(response)
          except requests.RequestException as e:
              if not response:
                  raise
              raise ProtocolError(
                  url, response.status_code, str(e), response.headers)
          except Fault:
              raise
          except Exception:
              e = BugzillaError(str(sys.exc_info()[1]))
              # pylint: disable=attribute-defined-outside-init
              e.__traceback__ = sys.exc_info()[2]
              # pylint: enable=attribute-defined-outside-init
              raise e
docs: A helper method to assist in making a request and provide a parsed
          response.