From 1cd7967d0c10cc086012e32ce804058ca0c0ca51 Mon Sep 17 00:00:00 2001 From: Ivan Smolin Date: Wed, 12 Oct 2016 13:03:50 +0300 Subject: [PATCH] add responseModel method to SessionManager --- .../Alamofire/AlamofireManager+Extensions.swift | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/LeadKit/LeadKit/Extensions/Alamofire/AlamofireManager+Extensions.swift b/LeadKit/LeadKit/Extensions/Alamofire/AlamofireManager+Extensions.swift index 5e16ebe3..a638706d 100644 --- a/LeadKit/LeadKit/Extensions/Alamofire/AlamofireManager+Extensions.swift +++ b/LeadKit/LeadKit/Extensions/Alamofire/AlamofireManager+Extensions.swift @@ -9,13 +9,14 @@ import Alamofire import RxSwift import RxAlamofire +import ObjectMapper public extension Alamofire.SessionManager { /** method which executes request with given api parameters - - parameter apiParameters: api parameters to pass Alamofire + - parameter requestParameters: api parameters to pass Alamofire - returns: Observable with request */ @@ -27,4 +28,15 @@ public extension Alamofire.SessionManager { headers: requestParameters.headers) } + /** + method which executes request and serialize response into target object + + - parameter requestParameters: api parameters to pass Alamofire + + - returns: Observable with HTTP URL Response and target object + */ + func responseModel(requestParameters: ApiRequestParameters) -> Observable<(HTTPURLResponse, T)> { + return apiRequest(requestParameters: requestParameters).flatMap { $0.rx.apiResponse() } + } + }