wrap setFromRequest in a promise