@willdurand HTTP message body could be any type of data, defined by Content-Type headers (and, optionally, encoded as it is declared in Content-Encoding header) - look at [RFC 2616, section 7.2](http://www.w3.org/Protocols/rfc2616/rfc2616-sec7.html#sec7.2), so returning it as a string all the times is not a good idea, what @mtdowling proved.