Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | 5x 5x 5x 5x 1x 1x 3x | import { ApiError, ApiKeyExpiredError, ApiKeyNotFoundError, ApiKeyRequiredError, ClientTimeoutError, FailedError, HeaderRestrictedError, HostnameRestrictedError, IdentificationError, InstallationMethodRestrictedError, InvalidProxyIntegrationHeadersError, InvalidProxyIntegrationSecretError, InvalidResponseTypeError, InvalidUrlError, InvalidURLParamsError, JsonParsingError, NetworkError, NotAvailableForCrawlBotsError, NotAvailableWithoutUAError, OriginNotAvailableError, ProxyIntegrationSecretEnvironmentMismatch, RequestCannotBeParsedError, RequestTimeoutError, ResponseCannotBeParsedError, SubscriptionNotActiveError, TooManyRequestError, UnknownError, UnsupportedVersionError, WrongRegionError, } from './errors' export function unwrapError(error: Error): IdentificationError { const [errorType, ...errorMessageParts] = error.message.split(':') const errorMessage = errorMessageParts.join(':') console.log('unwrapError', { errorType, errorMessageParts, errorMessage, }) switch (errorType) { case 'InvalidURL': return new InvalidUrlError(errorMessage) case 'InvalidURLParams': return new InvalidURLParamsError(errorMessage) case 'ApiError': return new ApiError(errorMessage) // Api Errors block case 'ApiKeyRequired': case 'TokenRequired': return new ApiKeyRequiredError(errorMessage) case 'ApiKeyNotFound': case 'TokenNotFound': return new ApiKeyNotFoundError(errorMessage) case 'ApiKeyExpired': case 'TokenExpired': return new ApiKeyExpiredError(errorMessage) case 'RequestCannotBeParsed': return new RequestCannotBeParsedError(errorMessage) case 'Failed': return new FailedError(errorMessage) case 'RequestTimeout': return new RequestTimeoutError(errorMessage) case 'TooManyRequest': return new TooManyRequestError(errorMessage) case 'OriginNotAvailable': return new OriginNotAvailableError(errorMessage) case 'HeaderRestricted': return new HeaderRestrictedError(errorMessage) case 'HostnameRestricted': return new HostnameRestrictedError(errorMessage) case 'NotAvailableForCrawlBots': return new NotAvailableForCrawlBotsError(errorMessage) case 'NotAvailableWithoutUA': return new NotAvailableWithoutUAError(errorMessage) case 'WrongRegion': return new WrongRegionError(errorMessage) case 'SubscriptionNotActive': return new SubscriptionNotActiveError(errorMessage) case 'UnsupportedVersion': return new UnsupportedVersionError(errorMessage) case 'InstallationMethodRestricted': return new InstallationMethodRestrictedError(errorMessage) case 'ResponseCannotBeParsed': return new ResponseCannotBeParsedError(errorMessage) case 'InvalidProxyIntegrationHeaders': return new InvalidProxyIntegrationHeadersError(errorMessage) case 'InvalidProxyIntegrationSecret': return new InvalidProxyIntegrationSecretError(errorMessage) case 'ProxyIntegrationSecretEnvironmentMismatch': return new ProxyIntegrationSecretEnvironmentMismatch(errorMessage) // end of API Errors block case 'ClientTimeout': return new ClientTimeoutError(errorMessage) case 'NetworkError': return new NetworkError(errorMessage) case 'JsonParsingError': return new JsonParsingError(errorMessage) case 'InvalidResponseType': return new InvalidResponseTypeError(errorMessage) default: return new UnknownError(error.message) } } |