mirror of
https://github.com/sasjs/adapter.git
synced 2026-01-07 20:40:05 +00:00
fix(*): add the ability to ignore SSL errors
This commit is contained in:
@@ -1,12 +1,6 @@
|
||||
import { ServerType } from '@sasjs/utils/types'
|
||||
import { parseSasWork } from '.'
|
||||
import { SASjsRequest } from '../types'
|
||||
import {
|
||||
asyncForEach,
|
||||
parseGeneratedCode,
|
||||
parseSourceCode,
|
||||
parseWeboutResponse
|
||||
} from '../utils'
|
||||
import { asyncForEach, parseGeneratedCode, parseSourceCode } from '../utils'
|
||||
|
||||
export type ExecuteFunction = () => Promise<any>
|
||||
|
||||
@@ -59,11 +53,7 @@ export abstract class BaseJobExecutor implements JobExecutor {
|
||||
this.waitingRequests.push(request)
|
||||
}
|
||||
|
||||
protected async appendRequest(
|
||||
response: any,
|
||||
program: string,
|
||||
debug: boolean
|
||||
) {
|
||||
protected appendRequest(response: any, program: string, debug: boolean) {
|
||||
let sourceCode = ''
|
||||
let generatedCode = ''
|
||||
let sasWork = null
|
||||
@@ -76,17 +66,12 @@ export abstract class BaseJobExecutor implements JobExecutor {
|
||||
if (response.log) {
|
||||
sasWork = response.log
|
||||
} else {
|
||||
sasWork = JSON.parse(parseWeboutResponse(response.result)).WORK
|
||||
sasWork = response.result.WORK
|
||||
}
|
||||
} else if (response?.result) {
|
||||
sourceCode = parseSourceCode(response.result)
|
||||
generatedCode = parseGeneratedCode(response.result)
|
||||
sasWork = await parseSasWork(
|
||||
response.result,
|
||||
debug,
|
||||
this.serverUrl,
|
||||
this.serverType
|
||||
)
|
||||
sasWork = response.result.WORK
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
export * from './ComputeJobExecutor'
|
||||
export * from './JesJobExecutor'
|
||||
export * from './JobExecutor'
|
||||
export * from './parseSasWork'
|
||||
export * from './WebJobExecutor'
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
import { ServerType } from '@sasjs/utils/types'
|
||||
import { parseWeboutResponse } from '../utils'
|
||||
|
||||
export const parseSasWork = async (
|
||||
response: any,
|
||||
debug: boolean,
|
||||
serverUrl: string,
|
||||
serverType: ServerType
|
||||
) => {
|
||||
if (debug) {
|
||||
let jsonResponse
|
||||
|
||||
if (serverType === ServerType.Sas9) {
|
||||
try {
|
||||
jsonResponse = JSON.parse(parseWeboutResponse(response))
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
}
|
||||
} else {
|
||||
await parseSASVIYADebugResponse(response, serverUrl).then(
|
||||
(resText: any) => {
|
||||
try {
|
||||
jsonResponse = JSON.parse(resText)
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
}
|
||||
},
|
||||
(err: any) => {
|
||||
console.error(err)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
if (jsonResponse) {
|
||||
return jsonResponse.WORK
|
||||
}
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
const parseSASVIYADebugResponse = async (
|
||||
response: string,
|
||||
serverUrl: string
|
||||
) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const iframeStart = response.split(
|
||||
'<iframe style="width: 99%; height: 500px" src="'
|
||||
)[1]
|
||||
const jsonUrl = iframeStart ? iframeStart.split('"></iframe>')[0] : null
|
||||
|
||||
if (jsonUrl) {
|
||||
fetch(serverUrl + jsonUrl)
|
||||
.then((res) => res.text())
|
||||
.then((resText) => {
|
||||
resolve(resText)
|
||||
})
|
||||
} else {
|
||||
reject('No debug info found in response.')
|
||||
}
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user