[feature] switch to using Streams for binary content and Readers for text content