docs: def stream_response(self, response, stream_to=None):
      '''
         stream response is one level higher up than stream, starting with a 
         response object and then performing the stream without making the
         requests.get. The expectation is that the request was successful 
         (status code 20*).
  
         Parameters
         ==========
         response: a response that is ready to be iterated over to download in
                   streamed chunks
         stream_to: the file to stream to
  
  
      '''
  
      if response.status_code == 200:
  
          # Keep user updated with Progress Bar
          content_size = None
          if 'Content-Length' in response.headers:
              progress = 0
              content_size = int(response.headers['Content-Length'])
              bot.show_progress(progress, content_size, length=35)
  
          chunk_size = 1 << 20
          with open(stream_to, 'wb') as filey:
              for chunk in response.iter_content(chunk_size=chunk_size):
                  filey.write(chunk)
                  if content_size is not None:
                      progress+=chunk_size
                      bot.show_progress(iteration=progress,
                                        total=content_size,
                                        length=35,
                                        carriage_return=False)
  
          # Newline to finish download
          sys.stdout.write('\n')
  
          return stream_to 
  
      bot.error("Problem with stream, response %s" %(response.status_code))
      sys.exit(1)