recursive request body reader