Use Decode instead of ReadAll/Unmarshal

I'm not sure that caching the http request body is that useful, and I can think of some scenarios where loading the entire thing into memory would not be desirable.