| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- 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
- }
|