code: def results(self, *args, **kwargs):
          
          def worker():
              kwargs['page'] = 1
              while True:
                  response = self.client(*args, **kwargs)
                  if isinstance(response, list):
                      yield response
                      break
                  elif _is_page(response):
                      yield response['results']
                      if response['next']:
                          kwargs['page'] += 1
                      else:
                          break
                  else:
                      raise NoResultsError(response)
  
          return itertools.chain.from_iterable(worker())
docs: Return an iterator with all pages of data.
             Return NoResultsError with response if there is unexpected data.