1
0
mirror of https://github.com/sasjs/adapter.git synced 2025-12-11 01:14:36 +00:00

fix: service not found error handling

This commit is contained in:
Mihajlo Medjedovic
2020-11-12 16:03:32 +01:00
parent c7b0821081
commit e9be1cf99a
2 changed files with 37 additions and 15 deletions

View File

@@ -607,7 +607,7 @@ export class SASViyaApiClient {
}) })
return Promise.reject( return Promise.reject(
new ErrorResponse('Job execution failed', { new ErrorResponse('Job execution failed.', {
status: 500, status: 500,
body: log body: log
}) })
@@ -1114,7 +1114,7 @@ export class SASViyaApiClient {
} }
if (!jobToExecute) { if (!jobToExecute) {
throw new Error(`The job ${sasJob} was not found.`) throw new Error(`Job was not found.`)
} }
const jobDefinitionLink = jobToExecute?.links.find( const jobDefinitionLink = jobToExecute?.links.find(
(l) => l.rel === 'getResource' (l) => l.rel === 'getResource'

View File

@@ -780,11 +780,23 @@ export default class SASjs {
} else { } else {
this.retryCountComputeApi = 0 this.retryCountComputeApi = 0
reject( reject(
new ErrorResponse('Compute API retry requests limit reached') new ErrorResponse('Compute API retry requests limit reached.')
) )
} }
} }
if (response?.log) {
this.appendSasjsRequest(response.log, sasJob, null)
}
if (error.toString().includes('Job was not found')) {
reject(
new ErrorResponse('Service not found on the server.', {
sasJob: sasJob
})
)
}
if (error && error.status === 401) { if (error && error.status === 401) {
if (loginRequiredCallback) loginRequiredCallback(true) if (loginRequiredCallback) loginRequiredCallback(true)
sasjsWaitingRequest.requestPromise.resolve = resolve sasjsWaitingRequest.requestPromise.resolve = resolve
@@ -792,10 +804,8 @@ export default class SASjs {
sasjsWaitingRequest.config = config sasjsWaitingRequest.config = config
this.sasjsWaitingRequests.push(sasjsWaitingRequest) this.sasjsWaitingRequests.push(sasjsWaitingRequest)
} else { } else {
reject(new ErrorResponse('Job execution failed', error)) reject(new ErrorResponse('Job execution failed.', error))
} }
this.appendSasjsRequest(response.log, sasJob, null)
}) })
} }
) )
@@ -875,12 +885,24 @@ export default class SASjs {
} else { } else {
this.retryCountJeseApi = 0 this.retryCountJeseApi = 0
reject( reject(
new ErrorResponse('Jes API retry requests limit reached') new ErrorResponse('Jes API retry requests limit reached.')
) )
} }
} }
reject(new ErrorResponse('Job execution failed', e)) if (e?.log) {
this.appendSasjsRequest(e.log, sasJob, null)
}
if (e.toString().includes('Job was not found')) {
reject(
new ErrorResponse('Service not found on the server.', {
sasJob: sasJob
})
)
}
reject(new ErrorResponse('Job execution failed.', e))
}) })
) )
} }
@@ -1064,7 +1086,7 @@ export default class SASjs {
} else { } else {
reject( reject(
new ErrorResponse( new ErrorResponse(
'Job WEB execution failed', 'Job WEB execution failed.',
this.parseSAS9ErrorResponse(responseText) this.parseSAS9ErrorResponse(responseText)
) )
) )
@@ -1082,7 +1104,7 @@ export default class SASjs {
} catch (e) { } catch (e) {
reject( reject(
new ErrorResponse( new ErrorResponse(
'Job WEB debug response parsing failed', 'Job WEB debug response parsing failed.',
{ response: resText, exception: e } { response: resText, exception: e }
) )
) )
@@ -1091,7 +1113,7 @@ export default class SASjs {
(err: any) => { (err: any) => {
reject( reject(
new ErrorResponse( new ErrorResponse(
'Job WEB debug response parsing failed', 'Job WEB debug response parsing failed.',
err err
) )
) )
@@ -1100,7 +1122,7 @@ export default class SASjs {
} catch (e) { } catch (e) {
reject( reject(
new ErrorResponse( new ErrorResponse(
'Job WEB debug response parsing failed', 'Job WEB debug response parsing failed.',
{ response: responseText, exception: e } { response: responseText, exception: e }
) )
) )
@@ -1115,7 +1137,7 @@ export default class SASjs {
) { ) {
reject( reject(
new ErrorResponse( new ErrorResponse(
'Service not found on the server', 'Service not found on the server.',
{ service: sasJob }, { service: sasJob },
responseText responseText
) )
@@ -1127,7 +1149,7 @@ export default class SASjs {
resolve(parsedJson) resolve(parsedJson)
} catch (e) { } catch (e) {
reject( reject(
new ErrorResponse('Job WEB response parsing failed', { new ErrorResponse('Job WEB response parsing failed.', {
response: responseText, response: responseText,
exception: e exception: e
}) })
@@ -1138,7 +1160,7 @@ export default class SASjs {
} }
}) })
.catch((e: Error) => { .catch((e: Error) => {
reject(new ErrorResponse('Job WEB request failed', e)) reject(new ErrorResponse('Job WEB request failed.', e))
}) })
} }
) )