(
dispatch: any,
hooks: any,
config: any,
payload: ICallbackPayload,
background: BackgroundCallbackInfo | undefined,
additionalArgs: [string, string, boolean?][] | undefined,
getState: any,
running: any
)
| 461 | } |
| 462 | |
| 463 | function handleServerside( |
| 464 | dispatch: any, |
| 465 | hooks: any, |
| 466 | config: any, |
| 467 | payload: ICallbackPayload, |
| 468 | background: BackgroundCallbackInfo | undefined, |
| 469 | additionalArgs: [string, string, boolean?][] | undefined, |
| 470 | getState: any, |
| 471 | running: any |
| 472 | ): Promise<CallbackResponse> { |
| 473 | if (hooks.request_pre) { |
| 474 | hooks.request_pre(payload); |
| 475 | } |
| 476 | |
| 477 | const requestTime = Date.now(); |
| 478 | const body = JSON.stringify(payload); |
| 479 | let cacheKey: string; |
| 480 | let job: string; |
| 481 | let runningOff: any; |
| 482 | let progressDefault: any; |
| 483 | let moreArgs = additionalArgs; |
| 484 | |
| 485 | if (running) { |
| 486 | dispatch(sideUpdate(running.running, payload)); |
| 487 | runningOff = running.runningOff; |
| 488 | } |
| 489 | |
| 490 | const fetchCallback = () => { |
| 491 | const headers = getCSRFHeader(config) as any; |
| 492 | let url = `${urlBase(config)}_dash-update-component`; |
| 493 | let newBody = body; |
| 494 | |
| 495 | const addArg = (name: string, value: string) => { |
| 496 | let delim = '?'; |
| 497 | if (url.includes('?')) { |
| 498 | delim = '&'; |
| 499 | } |
| 500 | url = `${url}${delim}${name}=${value}`; |
| 501 | }; |
| 502 | if (cacheKey || job) { |
| 503 | if (cacheKey) addArg('cacheKey', cacheKey); |
| 504 | if (job) addArg('job', job); |
| 505 | |
| 506 | // clear inputs as background callback doesnt need inputs, just verify for context |
| 507 | const tmpBody = JSON.parse(newBody); |
| 508 | for (let i = 0; i < tmpBody.inputs.length; i++) { |
| 509 | tmpBody.inputs[i]['value'] = null; |
| 510 | } |
| 511 | for (let i = 0; i < (tmpBody?.state || []).length; i++) { |
| 512 | tmpBody.state[i]['value'] = null; |
| 513 | } |
| 514 | newBody = JSON.stringify(tmpBody); |
| 515 | } |
| 516 | |
| 517 | if (moreArgs) { |
| 518 | moreArgs.forEach(([key, value]) => addArg(key, value)); |
| 519 | moreArgs = moreArgs.filter(([_, __, single]) => !single); |
| 520 | } |
no test coverage detected
searching dependent graphs…