http/request: rename recv to read
http/request: cache the body