重构request