(
request: RestRequest,
reqCollections: Collection[],
response: RestResponse,
responseScript: string,
isCollectionLevel: boolean,
envName?: string,
n?: number,
)
| 383 | } |
| 384 | |
| 385 | async function doResponseScript( |
| 386 | request: RestRequest, |
| 387 | reqCollections: Collection[], |
| 388 | response: RestResponse, |
| 389 | responseScript: string, |
| 390 | isCollectionLevel: boolean, |
| 391 | envName?: string, |
| 392 | n?: number, |
| 393 | ): Promise<JasmineReport | null> { |
| 394 | // NOTE: cannot pass state on top level because it does not use most current state |
| 395 | const set = (key: string, value: string) => |
| 396 | setEnvVar( |
| 397 | reqCollections, |
| 398 | dispatchCollections, |
| 399 | request.collectionId, |
| 400 | key, |
| 401 | value, |
| 402 | envName, |
| 403 | ); |
| 404 | const get = (key: string): string => |
| 405 | getEnvVar(reqCollections, request.collectionId, key, envName); |
| 406 | const exec = async (requestId: number, envName?: string) => { |
| 407 | const request = findRequest(reqCollections, requestId); |
| 408 | if (!request || request.type !== 'REST') { |
| 409 | throw Error(`REST Request with id ${requestId} not found`); |
| 410 | } |
| 411 | if (!n) n = 0; |
| 412 | return await sendRequest(request, reqCollections, envName, n + 1); |
| 413 | }; |
| 414 | return await executeResponseScript( |
| 415 | request, |
| 416 | response, |
| 417 | responseScript, |
| 418 | set, |
| 419 | get, |
| 420 | exec, |
| 421 | toast, |
| 422 | isCollectionLevel, |
| 423 | envName, |
| 424 | ); |
| 425 | } |
| 426 | |
| 427 | async function sendRequestToExtension( |
| 428 | request: RestRequest, |
no test coverage detected