Reads at most len bytes from the next filter, returning a string
  with the data read or None if End Of Stream (EOS) has been reached. A
  filter must be closed once the EOS has been encountered.
If the len argument is negative or omitted, reads all data
  currently available.