Skip to content

Instantly share code, notes, and snippets.

@swizzlr
Created August 22, 2015 22:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save swizzlr/8705da147c924a28873a to your computer and use it in GitHub Desktop.
Save swizzlr/8705da147c924a28873a to your computer and use it in GitHub Desktop.
Small patch for Moya in Swift 2.
diff --git a/vendor/Moya/Moya/ReactiveCocoa/RACSignal+Moya.swift b/vendor/Moya/Moya/ReactiveCocoa/RACSignal+Moya.swift
index faabbf4..55d0420 100755
--- a/vendor/Moya/Moya/ReactiveCocoa/RACSignal+Moya.swift
+++ b/vendor/Moya/Moya/ReactiveCocoa/RACSignal+Moya.swift
@@ -67,21 +67,20 @@ public extension RACSignal {
/// Maps data received from the signal into a JSON object. If the conversion fails, the signal errors.
public func mapJSON() -> RACSignal {
- return tryMap({ (object, error) -> AnyObject! in
+ return tryMap({ (object, retError) -> AnyObject! in
var json: AnyObject?
if let response = object as? MoyaResponse {
- json = NSJSONSerialization.JSONObjectWithData(response.data, options: nil, error: error)
- }
-
- if json == nil && error != nil && error.memory == nil {
- var userInfo: [NSObject : AnyObject]?
- if object != nil {
+ do {
+ json = try NSJSONSerialization.JSONObjectWithData(response.data, options: NSJSONReadingOptions())
+ } catch {
+ var userInfo: [NSObject : AnyObject]?
+ if object != nil {
userInfo = ["data": object]
- }
-
- error.memory = NSError(domain: MoyaErrorDomain, code: MoyaErrorCode.JSONMapping.rawValue, userInfo: userInfo)
+ }
+
+ retError.memory = NSError(domain: MoyaErrorDomain, code: MoyaErrorCode.JSONMapping.rawValue, userInfo: userInfo)
+ }
}
-
return json
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment