Merge pull request #3725 from NoelDeMartin/MOBILE-4341

MOBILE-4341 core: Ignore native error codes in web
main
Juan Leyva 2023-07-06 17:41:20 +02:00 committed by GitHub
commit 670bb10330
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 53 additions and 44 deletions

View File

@ -512,51 +512,60 @@ export class CoreWSProvider {
supportConfig: await CoreUserGuestSupportConfig.forSite(preSets.siteUrl),
};
switch (data.status) {
case NativeHttp.ErrorCode.SSL_EXCEPTION:
options.errorcode = 'invalidcertificate';
options.errorDetails = Translate.instant('core.certificaterror', {
details: CoreTextUtils.getErrorMessageFromError(data.error) ?? 'Invalid certificate',
});
break;
case NativeHttp.ErrorCode.SERVER_NOT_FOUND:
options.errorcode = 'servernotfound';
options.errorDetails = CoreTextUtils.getErrorMessageFromError(data.error) ?? 'Server could not be found';
break;
case NativeHttp.ErrorCode.TIMEOUT:
options.errorcode = 'requesttimeout';
options.errorDetails = CoreTextUtils.getErrorMessageFromError(data.error) ?? 'Request timed out';
break;
case NativeHttp.ErrorCode.UNSUPPORTED_URL:
options.errorcode = 'unsupportedurl';
options.errorDetails = CoreTextUtils.getErrorMessageFromError(data.error) ?? 'Url not supported';
break;
case NativeHttp.ErrorCode.NOT_CONNECTED:
options.errorcode = 'connectionerror';
options.errorDetails = CoreTextUtils.getErrorMessageFromError(data.error)
?? 'Connection error, is network available?';
break;
case NativeHttp.ErrorCode.ABORTED:
options.errorcode = 'requestaborted';
options.errorDetails = CoreTextUtils.getErrorMessageFromError(data.error) ?? 'Request aborted';
break;
case NativeHttp.ErrorCode.POST_PROCESSING_FAILED:
options.errorcode = 'requestprocessingfailed';
options.errorDetails = CoreTextUtils.getErrorMessageFromError(data.error) ?? 'Request processing failed';
break;
case 404:
options.errorcode = 'endpointnotfound';
options.errorDetails = Translate.instant('core.ajaxendpointnotfound', { $a: CoreSite.MINIMUM_MOODLE_VERSION });
break;
default: {
const details = CoreTextUtils.getErrorMessageFromError(data.error) ?? 'Unknown error';
options.errorcode = 'serverconnectionajax';
options.errorDetails = Translate.instant('core.serverconnection', {
details: `[Response status code: ${data.status}] ${details}`,
});
if (CorePlatform.isMobile()) {
switch (data.status) {
case NativeHttp.ErrorCode.SSL_EXCEPTION:
options.errorcode = 'invalidcertificate';
options.errorDetails = Translate.instant('core.certificaterror', {
details: CoreTextUtils.getErrorMessageFromError(data.error) ?? 'Invalid certificate',
});
break;
case NativeHttp.ErrorCode.SERVER_NOT_FOUND:
options.errorcode = 'servernotfound';
options.errorDetails = CoreTextUtils.getErrorMessageFromError(data.error) ?? 'Server could not be found';
break;
case NativeHttp.ErrorCode.TIMEOUT:
options.errorcode = 'requesttimeout';
options.errorDetails = CoreTextUtils.getErrorMessageFromError(data.error) ?? 'Request timed out';
break;
case NativeHttp.ErrorCode.UNSUPPORTED_URL:
options.errorcode = 'unsupportedurl';
options.errorDetails = CoreTextUtils.getErrorMessageFromError(data.error) ?? 'Url not supported';
break;
case NativeHttp.ErrorCode.NOT_CONNECTED:
options.errorcode = 'connectionerror';
options.errorDetails = CoreTextUtils.getErrorMessageFromError(data.error)
?? 'Connection error, is network available?';
break;
case NativeHttp.ErrorCode.ABORTED:
options.errorcode = 'requestaborted';
options.errorDetails = CoreTextUtils.getErrorMessageFromError(data.error) ?? 'Request aborted';
break;
case NativeHttp.ErrorCode.POST_PROCESSING_FAILED:
options.errorcode = 'requestprocessingfailed';
options.errorDetails = CoreTextUtils.getErrorMessageFromError(data.error) ?? 'Request processing failed';
break;
}
}
if (!options.errorcode) {
switch (data.status) {
case 404:
options.errorcode = 'endpointnotfound';
options.errorDetails = Translate.instant('core.ajaxendpointnotfound', {
$a: CoreSite.MINIMUM_MOODLE_VERSION,
});
break;
default: {
const details = CoreTextUtils.getErrorMessageFromError(data.error) ?? 'Unknown error';
options.errorcode = 'serverconnectionajax';
options.errorDetails = Translate.instant('core.serverconnection', {
details: `[Response status code: ${data.status}] ${details}`,
});
}
break;
}
break;
}
throw new CoreAjaxError(options, 1, data.status);