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)
}
}
|