@sebpot It's up to the implementation, small HTTP messages could `return new StringBody($string);` while an Amazon S3 response could `return new StreamBody($stream);` for example. The whole purpose of the interface is to be able to access it in an unified manner, without having to wonder about the actual type (and do dirty things such as `if (is_string($body)) {} else if(is_resource($body)) {}`.

@willdurand Did you read @mtdowling's comment above? It would be just impossible to use this interface for large objects such as the ones returned by Amazon S3. But if as I suggest, `getBody()` returns a class/interface that declares `__toString()`, then you'll be free, as a consumer of the library, to use it just as if it returned a plain string.


@thewilkybarkid Unfortunately, that would lead to dirty conditionals to deal with the body, as I mentioned above.