Fixed FTP errors to bypass test cases and build error on macOS

This commit is contained in:
Amir Abbas
2017-12-27 18:25:34 +03:30
parent d29826c56c
commit 3c87dfb69b
+8 -4
View File
@@ -514,7 +514,7 @@ internal extension FTPFileProvider {
throw self.urlError(filePath, code: .cannotParseResponse)
}
if !(response.hasPrefix("1") || !response.hasPrefix("2")) {
if !(response.hasPrefix("1") || response.hasPrefix("2")) {
throw FileProviderFTPError(message: response)
}
} catch {
@@ -573,12 +573,16 @@ internal extension FTPFileProvider {
}
do {
try Data().write(to: tempURL, options: [.noFileProtection])
try Data().write(to: tempURL, options: [])
let fileHandle = try FileHandle(forWritingTo: tempURL)
self.ftpRetrieve(task, filePath: filePath, from: position, length: length, onTask: onTask, onProgress: { (data, total, expected) in
fileHandle.write(data)
onProgress?(Int64(data.count), total, expected)
}) { (error) in
defer {
try? FileManager.default.removeItem(at: tempURL)
}
fileHandle.closeFile()
if let error = error {
completionHandler(nil, error)
@@ -777,7 +781,7 @@ internal extension FTPFileProvider {
guard name != "." && name != ".." else { return nil }
let path = (path as NSString).appendingPathComponent(name).replacingOccurrences(of: "/", with: "", options: .anchored)
let file = FileObject(url: url(of: path), name: name, path: path)
let file = FileObject(url: url(of: path), name: name, path: "/" + path)
#if swift(>=4.0)
let typeChar = posixPermission.first ?? Character(" ")
#else
@@ -828,7 +832,7 @@ internal extension FTPFileProvider {
attributes[keyValue[0].lowercased()] = keyValue.dropFirst().joined(separator: "=")
}
let file = FileObject(url: url(of: correctedPath), name: name, path: correctedPath)
let file = FileObject(url: url(of: correctedPath), name: name, path: "/" + correctedPath)
let dateFormatter = DateFormatter()
dateFormatter.calendar = Calendar(identifier: .gregorian)
dateFormatter.locale = Locale(identifier: "en_US_POSIX")