@@ -51,29 +51,23 @@ public final class StorageLayer {
51
51
request. addValue ( " Content-Type " , forHTTPHeaderField: " Access-Control-Allow-Headers " )
52
52
53
53
if urlString. split ( separator: " / " ) . last == " bulk_set_stream " {
54
- // let boundary = UUID().uuidString;
55
- // request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
56
- request. addValue ( " application/x-www-form-urlencoded " , forHTTPHeaderField: " Content-Type " )
54
+ let boundary = " Boundary- \( UUID ( ) . uuidString) "
55
+ request. addValue ( " multipart/form-data; boundary= \( boundary) " , forHTTPHeaderField: " Content-Type " )
57
56
58
57
let json = try ! JSONSerialization . jsonObject ( with: dataString. data ( using: String . Encoding. utf8) !, options: . allowFragments) as! [ [ String : Any ] ]
59
-
60
- // for item in json {
61
- // let dataItem = try! JSONSerialization.data(withJSONObject: item, options: .prettyPrinted)
62
- // requestData.append(StorageLayer.createMultipartBody(data: dataItem, boundary: boundary, file: "multipartData"))
63
- // }
64
-
65
- var form_data : [ String ] = [ ]
66
-
67
- // urlencoded item format: "(key)=(self.percentEscapeString(value))"
68
- for (index, element) in json. enumerated ( ) {
69
- let json_elem = try ! JSONSerialization . data ( withJSONObject: element, options: . withoutEscapingSlashes)
70
- let json_escaped_string = StorageLayer . percentEscapeString ( string: String ( data: json_elem, encoding: . utf8) !)
71
- let final_string = String ( index) + " = " + json_escaped_string
72
- form_data. append ( final_string)
58
+
59
+ var body_data = Data ( )
60
+
61
+ for (index, item) in json. enumerated ( ) {
62
+ body_data. append ( " -- \( boundary) \r \n " . data ( using: . utf8) !)
63
+ body_data. append ( " Content-Disposition: form-data; name= \" \( index) \" \r \n \r \n " . data ( using: . utf8) !)
64
+
65
+ let dataItem = String ( data: try ! JSONSerialization . data ( withJSONObject: item) , encoding: . utf8) !
66
+ body_data. append ( " \( dataItem) \r \n " . data ( using: . utf8) !)
73
67
}
74
- let body_data = form_data . joined ( separator : " & " )
75
-
76
- request. httpBody = body_data. data ( using : String . Encoding . utf8 )
68
+ body_data. append ( " -- \( boundary ) -- \r \n " . data ( using : . utf8 ) ! )
69
+
70
+ request. httpBody = body_data
77
71
} else {
78
72
request. addValue ( " application/json " , forHTTPHeaderField: " Content-Type " )
79
73
request. httpBody = dataString. data ( using: String . Encoding. utf8)
0 commit comments