Dropbox API Condivisione di una cartella con ogni caso di errore gestito utilizzando la libreria SwiftyDropbox


Esempio

Questo utilizza la libreria SwiftyDropbox per condividere una cartella, gestendo ogni caso di errore:

Dropbox.authorizedClient!.sharing.shareFolder(path: "/folder_path").response { response, error in
    if let result = response {
        print("response: \(result)")
    } else if let callError = error {
        switch callError as CallError {
        case .BadInputError(let message, let requestId):
            print("BadInputError[\(requestId)]: \(message)")
        case .HTTPError(let code, let message, let requestId):
            print("HTTPError[\(requestId)]: \(code): \(message)")
        case .InternalServerError(let code, let message, let requestId):
            print("InternalServerError[\(requestId)]: \(code): \(message)")
        case .OSError(let err):
            print("OSError: \(err)")
        case .RateLimitError:
            print("RateLimitError")
        case .RouteError(let boxed, let requestId):
            print("RouteError[\(requestId)]:")
            switch boxed.unboxed as Sharing.ShareFolderError {
            case .BadPath(let sharePathError):
                print("BadPath: \(sharePathError)")
                switch sharePathError as Sharing.SharePathError {
                case .AlreadyShared:
                    print("AlreadyShared")
                case .ContainsSharedFolder:
                    print("ContainsSharedFolder")
                case .InsideAppFolder:
                    print("InsideAppFolder")
                case .InsideSharedFolder:
                    print("InsideSharedFolder")
                case .InvalidPath:
                    print("InvalidPath")
                case .IsAppFolder:
                    print("IsAppFolder")
                case .IsFile:
                    print("IsFile")
                case .Other:
                    print("Other")
                }
            case .EmailUnverified:
                print("EmailUnverified")
            case .TeamPolicyDisallowsMemberPolicy:
                print("TeamPolicyDisallowsMemberPolicy")
            case .Other:
                print("Other")
            }
        }
    }
}