Returns the parsed request body as P, suspending if the body has not yet been read.
The result is cached after the first call; subsequent calls return immediately without I/O.
if the body cannot be deserialized to P.