1
0
mirror of https://github.com/sasjs/adapter.git synced 2026-01-16 08:30:07 +00:00

fix: web request method - login callback handling

This commit is contained in:
2022-04-26 17:37:13 +02:00
parent 936e4f8c0a
commit fc47222830

View File

@@ -47,7 +47,7 @@ export class WebJobExecutor extends BaseJobExecutor {
authConfig?: AuthConfig, authConfig?: AuthConfig,
extraResponseAttributes: ExtraResponseAttributes[] = [] extraResponseAttributes: ExtraResponseAttributes[] = []
) { ) {
const loginCallback = loginRequiredCallback || (() => Promise.resolve()) const loginCallback = loginRequiredCallback
const program = isRelativePath(sasJob) const program = isRelativePath(sasJob)
? config.appLoc ? config.appLoc
? config.appLoc.replace(/\/?$/, '/') + sasJob.replace(/^\//, '') ? config.appLoc.replace(/\/?$/, '/') + sasJob.replace(/^\//, '')
@@ -80,7 +80,7 @@ export class WebJobExecutor extends BaseJobExecutor {
) )
}) })
await loginCallback() if (loginCallback) await loginCallback()
} else { } else {
reject(new ErrorResponse(e?.message, e)) reject(new ErrorResponse(e?.message, e))
} }
@@ -221,36 +221,34 @@ export class WebJobExecutor extends BaseJobExecutor {
} }
if (e instanceof LoginRequiredError) { if (e instanceof LoginRequiredError) {
switch (this.serverType) { if (!loginRequiredCallback) {
case ServerType.Sasjs: reject(
reject( new ErrorResponse(
new ErrorResponse( 'Request is not authenticated. Make sure .env file exists with valid credentials.',
'Request is not authenticated. Make sure .env file exists with valid credentials.', e
e
)
) )
break )
default:
this.appendWaitingRequest(() => {
return this.execute(
sasJob,
data,
config,
loginRequiredCallback,
authConfig,
extraResponseAttributes
).then(
(res: any) => {
resolve(res)
},
(err: any) => {
reject(err)
}
)
})
await loginCallback()
} }
this.appendWaitingRequest(() => {
return this.execute(
sasJob,
data,
config,
loginRequiredCallback,
authConfig,
extraResponseAttributes
).then(
(res: any) => {
resolve(res)
},
(err: any) => {
reject(err)
}
)
})
if (loginCallback) await loginCallback()
} else { } else {
reject(new ErrorResponse(e?.message, e)) reject(new ErrorResponse(e?.message, e))
} }