fix: approximated not verifying domain, change request type for /agents

route
This commit is contained in:
Rotimi Best
2026-05-21 14:05:37 +01:00
parent c1bbd02f8e
commit ec92fc5083
23 changed files with 179 additions and 176 deletions
@@ -9,6 +9,7 @@ import { currentOrg } from '$lib/utils/store/org';
import type { Cookies } from '@sveltejs/kit';
import { env } from '$env/dynamic/public';
import { getCioCookieString } from '$lib/utils/functions/cookies';
import { AGENT_CONTENT_TYPE } from '@cio/utils/constants';
export const getRequestBaseUrl = () => {
if (typeof window === 'undefined') {
@@ -31,6 +32,16 @@ export const getRequestBaseUrl = () => {
return `${window.location.origin}/proxy`;
};
function isAgentRequest(input: RequestInfo | URL): boolean {
try {
const raw = typeof input === 'string' ? input : input instanceof URL ? input.toString() : input.url;
const pathname = new URL(raw, 'http://placeholder').pathname;
return pathname.includes('/agent/');
} catch {
return false;
}
}
function mergeAbortSignals(...signals: Array<AbortSignal | null | undefined>) {
const activeSignals = signals.filter((signal): signal is AbortSignal => Boolean(signal));
@@ -115,6 +126,10 @@ class ApiClient {
headers.delete('Content-Type');
}
if (requestBody && !isFormData && isAgentRequest(input)) {
headers.set('Content-Type', AGENT_CONTENT_TYPE);
}
// Create abort controller for timeout
const timeoutController = new AbortController();
const timeoutId = setTimeout(() => timeoutController.abort(), timeout);