OSDN Git Service

不要となっていたプロパティを削除
[kcd/KCD.git] / KCD / APIResponse.swift
index 4180163..8ae0586 100644 (file)
@@ -24,19 +24,6 @@ extension JSON {
     }
 }
 
-private extension Data {
-    
-    var utf8String: String? { return String(data: self, encoding: .utf8) }
-}
-
-func +<Key, Value> (lhs: [Key: Value], rhs: (Key, Value)) -> [Key: Value] {
-    
-    var new = lhs
-    new[rhs.0] = rhs.1
-    
-    return new
-}
-
 private func splitJSON(_ data: Data) -> String? {
     
     let prefix = "svdata="
@@ -44,100 +31,12 @@ private func splitJSON(_ data: Data) -> String? {
     guard let string = data.utf8String,
         let range = string.range(of: prefix) else {
             
-            return Logger.shared.log("data is wrong", value: nil)
-    }
-    
-    return String(string[range.upperBound...])
-}
-
-private func parseParameter(_ request: URLRequest) -> [String: String]? {
-    
-    return request
-        .httpBody?
-        .utf8String?
-        .removingPercentEncoding?
-        .components(separatedBy: "&")
-        .map { $0.components(separatedBy: "=") }
-        .filter { $0.count == 2 }
-        .map { (piar: [String]) -> (String, String) in (piar[0], piar[1]) }
-        .reduce(into: [String: String]()) { (dict: inout [String: String], value: (String, String)) in
+            Logger.shared.log("data is wrong")
             
-            dict[value.0] = value.1
-    }
-}
-
-struct ParameterValue {
-    
-    private let rawValue: String?
-    
-    var int: Int? { return rawValue.flatMap { Int($0) } }
-    var double: Double? { return rawValue.flatMap { Double($0) } }
-    var string: String? { return rawValue }
-    var bool: Bool? {
-        
-        guard let _ = rawValue else { return nil }
-        
-        if let i = self.int {
-            
-            return i != 0
-        }
-        
-        if let s = self.string?.lowercased() {
-            
-            switch s {
-            case "true", "yes", "t", "y": return true
-                
-            default: return false
-            }
-        }
-        
-        return false
-    }
-    var array: [ParameterValue] {
-        
-        return rawValue?.components(separatedBy: ",").map { ParameterValue($0) } ?? []
-    }
-    
-    var valid: Bool { return rawValue != nil }
-    
-    init(_ rawValue: String?) {
-        
-        self.rawValue = rawValue
-    }
-}
-
-struct Parameter {
-    
-    private let rawValue: [String: String]
-    
-    init(_ rawValue: [String: String]) {
-        
-        self.rawValue = rawValue
-    }
-    
-    init?(_ request: URLRequest) {
-        
-        guard let paramList = parseParameter(request) else { return nil }
-        
-        self.init(paramList)
-    }
-    
-    subscript(_ key: String) -> ParameterValue {
-        
-        return ParameterValue(rawValue[key])
-    }
-    
-    func map<T>(_ transform: (String, String) throws -> T) rethrows -> [T] {
-        
-        return try rawValue.map(transform)
+            return nil
     }
-}
-
-extension Parameter: Equatable {
     
-    public static func == (lhs: Parameter, rhs: Parameter) -> Bool {
-        return lhs.rawValue == rhs.rawValue
-    }
+    return String(string[range.upperBound...])
 }
 
 struct APIResponse {
@@ -146,6 +45,7 @@ struct APIResponse {
     let parameter: Parameter
     let json: JSON
     let date: Date
+    
     var success: Bool {
         
         if let r = json["api_result"].int { return r == 1 }
@@ -168,6 +68,7 @@ struct APIResponse {
         guard let josn = splitJSON(data) else {
             
             Logger.shared.log("Can not parse JSON")
+            
             return nil
         }
         
@@ -176,6 +77,7 @@ struct APIResponse {
         guard let parameter = Parameter(request) else {
             
             Logger.shared.log("Can not parse Parameter")
+            
             return nil
         }
         
@@ -184,6 +86,7 @@ struct APIResponse {
         guard let api = request.url?.path else {
             
             Logger.shared.log("URLRequest is wrong")
+            
             return nil
         }