mirror of
https://github.com/supabase/supabase.git
synced 2026-05-08 09:50:33 -04:00
41 lines
1001 B
TypeScript
41 lines
1001 B
TypeScript
import { API_URL } from './constants'
|
|
import { fetchHeadWithTimeout } from '@/data/fetchers'
|
|
|
|
const DEFAULT_TIMEOUT_MILLISECONDS = 2000
|
|
|
|
/**
|
|
* Ping Postgrest for health check. Default timeout in 2s.
|
|
*
|
|
* @param restUrl project rest url
|
|
* @param apikey project internal api key
|
|
* @param options optional, include custom timeout in milliseconds
|
|
*
|
|
* @return true if ping is successful else false
|
|
*/
|
|
async function pingPostgrest(
|
|
projectRef: string,
|
|
options?: {
|
|
timeout?: number
|
|
}
|
|
) {
|
|
if (projectRef === undefined) return false
|
|
|
|
const { timeout } = options ?? {}
|
|
|
|
return pingOpenApi(projectRef, timeout)
|
|
}
|
|
|
|
export default pingPostgrest
|
|
|
|
/**
|
|
* Send a HEAD request to postgrest OpenAPI.
|
|
*
|
|
* @return true if there's no error else false
|
|
*/
|
|
async function pingOpenApi(ref: string, timeout?: number) {
|
|
const { error } = await fetchHeadWithTimeout(`${API_URL}/projects/${ref}/api/rest`, [], {
|
|
timeout: timeout ?? DEFAULT_TIMEOUT_MILLISECONDS,
|
|
})
|
|
return error === undefined
|
|
}
|