mirror of
https://github.com/sasjs/adapter.git
synced 2026-01-03 18:50:05 +00:00
Merge branch 'master' into sas-job-absolute-paths
This commit is contained in:
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
232
docs/classes/reflection-724.reflection-187.fileuploader.html
Normal file
232
docs/classes/reflection-724.reflection-187.fileuploader.html
Normal file
File diff suppressed because one or more lines are too long
313
docs/classes/reflection-724.reflection-187.sas9apiclient.html
Normal file
313
docs/classes/reflection-724.reflection-187.sas9apiclient.html
Normal file
File diff suppressed because one or more lines are too long
1337
docs/classes/reflection-724.reflection-187.sasjs.html
Normal file
1337
docs/classes/reflection-724.reflection-187.sasjs.html
Normal file
File diff suppressed because one or more lines are too long
1265
docs/classes/reflection-724.reflection-187.sasviyaapiclient.html
Normal file
1265
docs/classes/reflection-724.reflection-187.sasviyaapiclient.html
Normal file
File diff suppressed because one or more lines are too long
272
docs/classes/reflection-724.reflection-187.sessionmanager.html
Normal file
272
docs/classes/reflection-724.reflection-187.sessionmanager.html
Normal file
File diff suppressed because one or more lines are too long
231
docs/classes/types.errorresponse.html
Normal file
231
docs/classes/types.errorresponse.html
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
107
docs/modules/reflection-724.html
Normal file
107
docs/modules/reflection-724.html
Normal file
File diff suppressed because one or more lines are too long
129
docs/modules/reflection-724.reflection-187.html
Normal file
129
docs/modules/reflection-724.reflection-187.html
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
56
src/SASjs.ts
56
src/SASjs.ts
@@ -31,7 +31,8 @@ import {
|
||||
ServerType,
|
||||
CsrfToken,
|
||||
UploadFile,
|
||||
EditContextInput
|
||||
EditContextInput,
|
||||
ErrorResponse
|
||||
} from './types'
|
||||
import { SASViyaApiClient } from './SASViyaApiClient'
|
||||
import { SAS9ApiClient } from './SAS9ApiClient'
|
||||
@@ -667,7 +668,9 @@ export default class SASjs {
|
||||
resolve(retryResponse)
|
||||
} else {
|
||||
this.retryCountComputeApi = 0
|
||||
reject({ MESSAGE: 'Compute API retry requests limit reached.' })
|
||||
reject(
|
||||
new ErrorResponse('Compute API retry requests limit reached')
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -678,7 +681,7 @@ export default class SASjs {
|
||||
sasjsWaitingRequest.config = config
|
||||
this.sasjsWaitingRequests.push(sasjsWaitingRequest)
|
||||
} else {
|
||||
reject({ MESSAGE: error || 'Job execution failed.' })
|
||||
reject(new ErrorResponse('Job execution failed', error))
|
||||
}
|
||||
|
||||
this.appendSasjsRequest(response.log, sasJob, null)
|
||||
@@ -760,11 +763,13 @@ export default class SASjs {
|
||||
resolve(retryResponse)
|
||||
} else {
|
||||
this.retryCountJeseApi = 0
|
||||
reject({ MESSAGE: 'JES API retry requests limit reached' })
|
||||
reject(
|
||||
new ErrorResponse('Jes API retry requests limit reached')
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
reject({ MESSAGE: (e && e.message) || 'Job execution failed.' })
|
||||
reject(new ErrorResponse('Job execution failed', e))
|
||||
})
|
||||
)
|
||||
}
|
||||
@@ -878,7 +883,7 @@ export default class SASjs {
|
||||
sasjsWaitingRequest.requestPromise.promise = new Promise(
|
||||
(resolve, reject) => {
|
||||
if (isError) {
|
||||
reject({ MESSAGE: errorMsg })
|
||||
reject(new ErrorResponse(errorMsg))
|
||||
}
|
||||
const headers: any = {}
|
||||
if (this.csrfTokenWeb) {
|
||||
@@ -944,9 +949,12 @@ export default class SASjs {
|
||||
if (jsonResponseText !== '') {
|
||||
resolve(JSON.parse(jsonResponseText))
|
||||
} else {
|
||||
reject({
|
||||
MESSAGE: this.parseSAS9ErrorResponse(responseText)
|
||||
})
|
||||
reject(
|
||||
new ErrorResponse(
|
||||
'Job WEB execution failed',
|
||||
this.parseSAS9ErrorResponse(responseText)
|
||||
)
|
||||
)
|
||||
}
|
||||
} else if (
|
||||
config.serverType === ServerType.SASViya &&
|
||||
@@ -959,15 +967,30 @@ export default class SASjs {
|
||||
try {
|
||||
resolve(JSON.parse(resText))
|
||||
} catch (e) {
|
||||
reject({ MESSAGE: resText })
|
||||
reject(
|
||||
new ErrorResponse(
|
||||
'Job WEB debug response parsing failed',
|
||||
{ response: resText, exception: e }
|
||||
)
|
||||
)
|
||||
}
|
||||
},
|
||||
(err: any) => {
|
||||
reject({ MESSAGE: err })
|
||||
reject(
|
||||
new ErrorResponse(
|
||||
'Job WEB debug response parsing failed',
|
||||
err
|
||||
)
|
||||
)
|
||||
}
|
||||
)
|
||||
} catch (e) {
|
||||
reject({ MESSAGE: responseText })
|
||||
reject(
|
||||
new ErrorResponse(
|
||||
'Job WEB debug response parsing failed',
|
||||
{ response: responseText, exception: e }
|
||||
)
|
||||
)
|
||||
}
|
||||
} else {
|
||||
this.updateUsername(responseText)
|
||||
@@ -975,14 +998,19 @@ export default class SASjs {
|
||||
const parsedJson = JSON.parse(responseText)
|
||||
resolve(parsedJson)
|
||||
} catch (e) {
|
||||
reject({ MESSAGE: responseText })
|
||||
reject(
|
||||
new ErrorResponse('Job WEB response parsing failed', {
|
||||
response: responseText,
|
||||
exception: e
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch((e: Error) => {
|
||||
reject(e)
|
||||
reject(new ErrorResponse('Job WEB request failed', e))
|
||||
})
|
||||
}
|
||||
)
|
||||
|
||||
26
src/types/ErrorResponse.ts
Normal file
26
src/types/ErrorResponse.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
export class ErrorResponse {
|
||||
body: ErrorBody
|
||||
|
||||
constructor(message: string, details?: any) {
|
||||
let detailsString = ''
|
||||
let raw
|
||||
|
||||
try {
|
||||
detailsString = JSON.stringify(details)
|
||||
} catch {
|
||||
raw = details
|
||||
}
|
||||
|
||||
this.body = {
|
||||
message,
|
||||
details: detailsString,
|
||||
raw
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
interface ErrorBody {
|
||||
message: string
|
||||
details: string
|
||||
raw: any
|
||||
}
|
||||
@@ -9,3 +9,4 @@ export * from './SASjsWaitingRequest'
|
||||
export * from './ServerType'
|
||||
export * from './Session'
|
||||
export * from './UploadFile'
|
||||
export * from './ErrorResponse'
|
||||
|
||||
Reference in New Issue
Block a user