in src/services/rest/request.ts [98:142]
responseText: await getMessage(),
},
retryCallback,
csrfToken,
) ?? false
)
default:
return false
}
}
return false
}
function checkCSRFExists() {
return new Promise<void>(resolve => {
if (window.BS?.CSRF == null || window.BS.CSRF.getCachedToken() != null) {
resolve()
} else {
window.BS.CSRF.refreshCSRFToken(resolve)
}
})
}
export async function request(
serverUrl?: string | null,
endpoint?: string | null,
options?: RestRequestOptions | null,
withAuth?: boolean,
): Promise<Response> {
checkRequestPossibility()
const method = options?.method
if (method != null && method.toUpperCase() !== 'GET') {
await checkCSRFExists()
}
async function doRequest() {
const headers = getHeaders(options, withAuth)
return {
csrfToken: headers['X-TC-CSRF-Token'],
response: await (options instanceof Request
? fetch(options)
: fetch([serverUrl, endpoint].filter(Boolean).join('/'), {