forked from VojtaStavik/APICommunicator-Alamofire
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDefaultResponseSerializers.swift
52 lines (33 loc) · 1.23 KB
/
DefaultResponseSerializers.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//
// DefaultResponseSerializers.swift
// Ripple
//
// Created by Vojta Stavik on 27/10/15.
// Copyright © 2015 STRV. All rights reserved.
//
import Foundation
import SwiftyJSON
extension JSON : APIResponseSerializer {
public static func serializeResponse(responseData: NSData?) -> JSON? {
guard let data = responseData else { return nil }
var error : NSError?
let json = JSON(data: data, options: .AllowFragments, error: &error)
if let error = error {
print("EROR while JSON parsing: \(error.localizedDescription)")
}
return json
}
}
extension Array : APIResponseSerializer {
public static func serializeResponse(responseData: NSData?) -> Array? {
guard let data = responseData else { return nil }
// TODO: Needs proper testing
return NSKeyedUnarchiver.unarchiveObjectWithData(data) as? Array<Element>
}
}
extension String : APIResponseSerializer {
public static func serializeResponse(responseData: NSData?) -> String? {
guard let data = responseData else { return nil }
return String(data: data, encoding: NSUTF8StringEncoding)
}
}