code: def read_chunks(stream, block_size=2**10):
      
      while True:
          chunk = stream.read(block_size)
          if not chunk:
              break
          yield chunk
docs: Given a byte stream with reader, yield chunks of block_size
      until the stream is consusmed.