added iOS source code
[wl-app.git] / iOS / Pods / OAuthSwift / Sources / OAuthSwiftResponse.swift
diff --git a/iOS/Pods/OAuthSwift/Sources/OAuthSwiftResponse.swift b/iOS/Pods/OAuthSwift/Sources/OAuthSwiftResponse.swift
new file mode 100644 (file)
index 0000000..8940b82
--- /dev/null
@@ -0,0 +1,50 @@
+//
+//  OAuthSwiftResponse.swift
+//  OAuthSwift
+//
+//  Created by phimage on 04/11/16.
+//  Copyright © 2016 Dongri Jin. All rights reserved.
+//
+
+import Foundation
+
+/// Response object
+@objc
+public class OAuthSwiftResponse: NSObject { // not a struct for objc
+    /// The data returned by the server.
+    public var data: Data
+    /// The server's response to the URL request.
+    public var response: HTTPURLResponse
+    /// The URL request sent to the server.
+    public var request: URLRequest?
+
+    public init(data: Data, response: HTTPURLResponse, request: URLRequest?) {
+        self.data = data
+        self.response = response
+        self.request = request
+    }
+
+}
+
+/// Extends this object to convert data into your business objects
+extension OAuthSwiftResponse {
+
+    public func dataString(encoding: String.Encoding = OAuthSwiftDataEncoding) -> String? {
+        return String(data: self.data, encoding: encoding)
+    }
+
+    /// `data` converted to string using data encoding
+    public var string: String? {
+        return dataString()
+    }
+
+    /// Convert to json object using JSONSerialization
+    public func jsonObject(options opt: JSONSerialization.ReadingOptions = []) throws -> Any {
+        return try JSONSerialization.jsonObject(with: self.data, options: opt)
+    }
+
+    /// Convert to object using PropertyListSerialization
+    public func propertyList(options opt: PropertyListSerialization.ReadOptions = [], format: UnsafeMutablePointer<PropertyListSerialization.PropertyListFormat>? = nil) throws -> Any {
+        return try PropertyListSerialization.propertyList(from: self.data, options: opt, format: format)
+    }
+}