diff --git a/Heimdallr/ReactiveCocoa/Heimdallr+ReactiveCocoa.swift b/Heimdallr/ReactiveCocoa/Heimdallr+ReactiveCocoa.swift index 53ba9fb..7da34d6 100644 --- a/Heimdallr/ReactiveCocoa/Heimdallr+ReactiveCocoa.swift +++ b/Heimdallr/ReactiveCocoa/Heimdallr+ReactiveCocoa.swift @@ -82,7 +82,7 @@ extension Heimdallr { /// - returns: A signal that sends a `RACUnit` and completes when the /// request finishes successfully or sends an error if the request /// finishes with an error. - @objc public func rac_requestAccessToken(username: String, password: String) -> RACSignal { + @objc public func rac_requestAccessToken(username: String, password: String) -> RACSignal { let producer: SignalProducer = requestAccessToken(username: username, password: password) .map { _ in RACUnit.default() } return producer.toRACSignal() @@ -95,7 +95,7 @@ extension Heimdallr { /// - returns: A signal that sends a `RACUnit` and completes when the /// request finishes successfully or sends an error if the request /// finishes with an error. - @objc public func rac_requestAccessToken(grantType: String, parameters: NSDictionary) -> RACSignal { + @objc public func rac_requestAccessToken(grantType: String, parameters: NSDictionary) -> RACSignal { let producer: SignalProducer = requestAccessToken(grantType: grantType, parameters: parameters as! [String: String]) .map { _ in RACUnit.default() } return producer.toRACSignal() @@ -112,7 +112,13 @@ extension Heimdallr { /// - parameter request: An unauthenticated NSURLRequest. /// - returns: A signal that sends the authenticated request on success or /// an error if the request could not be authenticated. - @objc public func rac_authenticateRequest(request: NSURLRequest) -> RACSignal { - return authenticateRequest(request: request as URLRequest).toRACSignal() + @objc public func rac_authenticateRequest(request: NSURLRequest) -> RACSignal { + let convertedRequest = request as URLRequest + let authenticatedRequestSignalProducer = authenticateRequest(request: convertedRequest) + let convertedAuthenticatedRequestSignalProducer = authenticatedRequestSignalProducer.map { (request) -> NSURLRequest in + return request as NSURLRequest + } + let authenticatedRequestSignal = convertedAuthenticatedRequestSignalProducer.toRACSignal() + return authenticatedRequestSignal } } diff --git a/HeimdallrTests/ReactiveCocoa/Heimdallr+ReactiveCocoaSpec.swift b/HeimdallrTests/ReactiveCocoa/Heimdallr+ReactiveCocoaSpec.swift index 541ea86..9dff46d 100644 --- a/HeimdallrTests/ReactiveCocoa/Heimdallr+ReactiveCocoaSpec.swift +++ b/HeimdallrTests/ReactiveCocoa/Heimdallr+ReactiveCocoaSpec.swift @@ -180,16 +180,6 @@ class ReactiveHeimdallrSpec: QuickSpec { heimdallr.authorizeSuccess = true } - it("sends a RACUnit") { - waitUntil { done in - let signal = heimdallr.rac_requestAccessToken(username: "foo", password: "bar") - signal.subscribeNext { value in - expect(value is RACUnit).to(beTrue()) - done() - } - } - } - it("completes") { waitUntil { done in let signal = heimdallr.rac_requestAccessToken(username: "foo", password: "bar") @@ -226,16 +216,6 @@ class ReactiveHeimdallrSpec: QuickSpec { heimdallr.authorizeSuccess = true } - it("sends a RACUnit") { - waitUntil { done in - let signal = heimdallr.rac_requestAccessToken(grantType:"foo", parameters:["code": "bar"]) - signal.subscribeNext { value in - expect(value is RACUnit).to(beTrue()) - done() - } - } - } - it("completes") { waitUntil { done in let signal = heimdallr.rac_requestAccessToken(grantType:"foo", parameters:["code": "bar"])