Skip to content

Commit 220edf1

Browse files
committed
Backport MultipartRequestBody to old OS versions
1 parent d2d7db5 commit 220edf1

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

native/swift/Sources/wordpress-api/MultipartRequestBody.swift

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,29 @@ struct MultipartRequestBody {
3434
data.append(boundaryData)
3535
data.append(contentsOf: lineBreak)
3636
data.append(part.httpHeadersData)
37-
try fileHandle.write(contentsOf: data)
37+
try write(data, to: fileHandle)
3838

3939
for try await bodyData in part.readData() {
40-
try fileHandle.write(contentsOf: bodyData)
40+
try write(bodyData, to: fileHandle)
4141
}
4242

43-
try fileHandle.write(contentsOf: lineBreak)
43+
try write(lineBreak, to: fileHandle)
4444
}
4545

46-
try fileHandle.write(contentsOf: boundaryMarker + boundaryData + boundaryMarker + lineBreak)
46+
try write(boundaryMarker + boundaryData + boundaryMarker + lineBreak, to: fileHandle)
4747

4848
try fileHandle.close()
4949

5050
return filePath
5151
}
52+
53+
func write(_ data: Data, to fileHandle: FileHandle) throws {
54+
if #available(macOS 10.15.4, iOS 13.4, watchOS 6.2, tvOS 13.4, *) {
55+
try fileHandle.write(contentsOf: data)
56+
} else {
57+
fileHandle.write(data)
58+
}
59+
}
5260
}
5361

5462
enum HttpPart {

0 commit comments

Comments
 (0)