// // CCError.m // Nextcloud iOS // // Created by Marino Faggiana on 04/02/16. // Copyright (c) 2017 Marino Faggiana. All rights reserved. // // Author Marino Faggiana // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // #import "CCError.h" @implementation CCError + (NSString *)manageErrorKCF:(NSInteger)errorCode withNumberError:(BOOL)withNumberError { switch (errorCode) { case kCFURLErrorCancelled: // -999 return NSLocalizedString(@"_cancelled_by_user", nil); break; case kCFURLErrorTimedOut: // -1001 return NSLocalizedString(@"_time_out_", nil); break; case kCFURLErrorCannotConnectToHost: // -1004 return NSLocalizedString(@"_server_down_", nil); break; case kCFURLErrorNetworkConnectionLost: // -1005 return NSLocalizedString(@"_not_possible_connect_to_server_", nil); break; case kCFURLErrorNotConnectedToInternet: // -1009 return NSLocalizedString(@"_not_connected_internet_", nil); break; case kCFURLErrorBadServerResponse: // -1011 return NSLocalizedString(@"_error_", nil); break; case kCFURLErrorUserCancelledAuthentication: // -1012 return NSLocalizedString(@"_not_possible_connect_to_server_", nil); break; case kCFURLErrorUserAuthenticationRequired: // -1013 return NSLocalizedString(@"_user_authentication_required_", nil); break; case kCFURLErrorSecureConnectionFailed: // -1200 return NSLocalizedString(@"_ssl_connection_error_", nil); break; case kCFURLErrorServerCertificateUntrusted: // -1202 return NSLocalizedString(@"_ssl_certificate_untrusted_", nil); break; case 101: // 101 return NSLocalizedString(@"_forbidden_characters_from_server_", nil); break; case 400: // 400 return NSLocalizedString(@"_bad_request_", nil); break; case 403: // 403 return NSLocalizedString(@"_error_not_permission_", nil); break; case 404: // 404 Not Found. When for example we try to access a path that now not exist return NSLocalizedString(@"_error_path_", nil); break; case 423: // 423 WebDAV Locked : The resource that is being accessed is locked return NSLocalizedString(@"_webdav_locked_", nil); break; case 500: return NSLocalizedString(@"_internal_server_", nil); break; case 503: return NSLocalizedString(@"_server_error_retry_", nil); break; case 507: return NSLocalizedString(@"_user_over_quota_", nil); break; default: if (withNumberError) return [NSString stringWithFormat:@"%ld", (long)errorCode]; else return [NSString stringWithFormat:@"Error code %ld", (long)errorCode];; break; } } + (NSString *)manageErrorDB:(NSInteger)errorCode { //DDLogError(@"Error code : %ld", (long)errorCode); NSString *errorKCF = [self manageErrorKCF:errorCode withNumberError:NO]; if ([errorKCF length] > 0) return errorKCF; switch (errorCode) { case 304: return NSLocalizedString(@"_folder_contents_nochanged_", nil); break; case 400: return NSLocalizedString(@"_error_",nil); break; case 401: return NSLocalizedString(@"_reauthenticate_user_", nil); break; case 403: return NSLocalizedString(@"_file_already_exists_", nil); break; case 404: return NSLocalizedString(@"_file_folder_not_exists_", nil); break; case 405: return NSLocalizedString(@"_method_not_expected_", nil); break; case 406: return NSLocalizedString(@"_too_many_files_", nil); break; case 409: return NSLocalizedString(@"_file_already_exists_", nil); break; case 411: return NSLocalizedString(@"_too_many_files_", nil); break; case 415: return NSLocalizedString(@"_images_invalid_converted_", nil); break; case 429: return NSLocalizedString(@"_too_many_request_", nil); break; case 500: return NSLocalizedString(@"_internal_server_", nil); break; case 503: return NSLocalizedString(@"_server_error_retry_", nil); break; case 507: return NSLocalizedString(@"_user_over_quota_", nil); break; default: return [NSString stringWithFormat:@"Error code %ld", (long)errorCode]; break; } } + (NSString *)manageErrorOC:(NSInteger)errorCode error:(NSError *)error { //DDLogError(@"Error code : %ld", (long)error.code); //DDLogError(@"Error http : %ld", (long)errorCode); NSString *errorHTTP; NSString *errorKCF = [self manageErrorKCF:error.code withNumberError:NO]; switch (errorCode) { case 0 : errorHTTP = @""; break; case kOCErrorSharedAPIWrong: // 400 errorHTTP = NSLocalizedString(@"_api_wrong_", nil); break; case kOCErrorServerUnauthorized: // 401 errorHTTP = NSLocalizedString(@"_bad_username_password_", nil); break; case kOCErrorServerForbidden: // 403 Forbidden errorHTTP = NSLocalizedString(@"_error_not_permission_", nil); break; case kOCErrorServerPathNotFound: // 404 Not Found. When for example we try to access a path that now not exist errorHTTP = NSLocalizedString(@"_error_path_", nil); break; case kOCErrorServerMethodNotPermitted: // 405 Method not permitted errorHTTP = NSLocalizedString(@"_not_possible_create_folder_", nil); break; case kOCErrorProxyAuth: // 407 Error credential errorHTTP = NSLocalizedString(@"_error_proxy_auth_", nil); break; case kOCErrorServerTimeout: // 408 timeout errorHTTP = NSLocalizedString(@"_not_possible_connect_to_server_", nil); break; case 423: // 423 Locked errorHTTP = NSLocalizedString(@"_file_directory_locked_", nil); break; default: // Default errorHTTP = [NSString stringWithFormat:@"Error code %ld", (long)errorCode]; break; } if (error.code == 0 && error.code == 0) return NSLocalizedString(@"_error_",nil); else if (error.code == errorCode) return [NSString stringWithFormat:@"%@", errorHTTP]; else return [NSString stringWithFormat:@"%@ %@", errorKCF, errorHTTP]; } @end