Spaces:
Running
Running
File size: 655 Bytes
af841c4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || '/api'
function buildUrl(path) {
const normalizedPath = path.startsWith('/') ? path : `/${path}`
return `${API_BASE_URL}${normalizedPath}`
}
export async function request(path, options = {}) {
const response = await fetch(buildUrl(path), {
headers: {
'Content-Type': 'application/json',
...(options.headers || {}),
},
...options,
})
if (!response.ok) {
const details = await response.text()
throw new Error(details || `Request failed with status ${response.status}`)
}
if (response.status === 204) {
return null
}
return response.json()
} |