code: def _execute(self, method_function, method_name, resource, **params):
          
          resource_uri = "{api_host}{resource}".format(api_host=self.api_host, resource=resource)
  
          url_encoded_fields = self._encode_params(params)
  
          headers = RestClient.generate_telesign_headers(self.customer_id,
                                                         self.api_key,
                                                         method_name,
                                                         resource,
                                                         url_encoded_fields,
                                                         user_agent=self.user_agent)
  
          if method_name in ['POST', 'PUT']:
              payload = {'data': url_encoded_fields}
          else:
              payload = {'params': url_encoded_fields}
  
          response = self.Response(method_function(resource_uri,
                                                   headers=headers,
                                                   timeout=self.timeout,
                                                   **payload))
  
          return response
docs: Generic TeleSign REST API request handler.
  
          :param method_function: The Requests HTTP request function to perform the request.
          :param method_name: The HTTP method name, as an upper case string.
          :param resource: The partial resource URI to perform the request against, as a string.
          :param params: Body params to perform the HTTP request with, as a dictionary.
          :return: The RestClient Response object.