added iOS source code
[wl-app.git] / iOS / Pods / OAuthSwift / Sources / OAuthSwiftMultipartData.swift
diff --git a/iOS/Pods/OAuthSwift/Sources/OAuthSwiftMultipartData.swift b/iOS/Pods/OAuthSwift/Sources/OAuthSwiftMultipartData.swift
new file mode 100644 (file)
index 0000000..30d35e1
--- /dev/null
@@ -0,0 +1,48 @@
+//
+//  OAuthSwiftMultipartData.swift
+//  OAuthSwift
+//
+//  Created by Tomohiro Kawaji on 12/18/15.
+//  Copyright (c) 2015 Dongri Jin. All rights reserved.
+//
+
+import Foundation
+
+public struct OAuthSwiftMultipartData {
+
+    public var name: String
+    public var data: Data
+    public var fileName: String?
+    public var mimeType: String?
+
+    public init(name: String, data: Data, fileName: String?, mimeType: String?) {
+        self.name = name
+        self.data = data
+        self.fileName = fileName
+        self.mimeType = mimeType
+    }
+
+}
+
+extension Data {
+
+    public mutating func append(_ multipartData: OAuthSwiftMultipartData, encoding: String.Encoding, separatorData: Data) {
+        var filenameClause = ""
+        if let filename = multipartData.fileName {
+            filenameClause = " filename=\"\(filename)\""
+        }
+        let contentDispositionString = "Content-Disposition: form-data; name=\"\(multipartData.name)\";\(filenameClause)\r\n"
+        let contentDispositionData = contentDispositionString.data(using: encoding)!
+        self.append(contentDispositionData)
+
+        if let mimeType = multipartData.mimeType {
+            let contentTypeString = "Content-Type: \(mimeType)\r\n"
+            let contentTypeData = contentTypeString.data(using: encoding)!
+            self.append(contentTypeData)
+        }
+
+        self.append(separatorData)
+        self.append(multipartData.data)
+        self.append(separatorData)
+    }
+}