code: def request(self, method, uri, params=None, data=None, headers=None, auth=None,
                  timeout=None, allow_redirects=False):
          
          auth = auth or self.auth
          headers = headers or {}
  
          headers['User-Agent'] = 'twilio-python/{} (Python {})'.format(
              __version__,
              platform.python_version(),
          )
          headers['X-Twilio-Client'] = 'python-{}'.format(__version__)
          headers['Accept-Charset'] = 'utf-8'
  
          if method == 'POST' and 'Content-Type' not in headers:
              headers['Content-Type'] = 'application/x-www-form-urlencoded'
  
          if 'Accept' not in headers:
              headers['Accept'] = 'application/json'
  
          if self.region:
              head, tail = uri.split('.', 1)
  
              if not tail.startswith(self.region):
                  uri = '.'.join([head, self.region, tail])
  
          return self.http_client.request(
              method,
              uri,
              params=params,
              data=data,
              headers=headers,
              auth=auth,
              timeout=timeout,
              allow_redirects=allow_redirects
          )
docs: Makes a request to the Twilio API using the configured http client
          Authentication information is automatically added if none is provided
  
          :param str method: HTTP Method
          :param str uri: Fully qualified url
          :param dict[str, str] params: Query string parameters
          :param dict[str, str] data: POST body data
          :param dict[str, str] headers: HTTP Headers
          :param tuple(str, str) auth: Authentication
          :param int timeout: Timeout in seconds
          :param bool allow_redirects: Should the client follow redirects
  
          :returns: Response from the Twilio API
          :rtype: twilio.http.response.Response