diff --git a/src/SupabaseClient.ts b/src/SupabaseClient.ts index 13a64e731..83e307a40 100644 --- a/src/SupabaseClient.ts +++ b/src/SupabaseClient.ts @@ -1,4 +1,5 @@ import { DEFAULT_HEADERS } from './lib/constants' +import { stripTrailingSlash } from './lib/helpers' import { SupabaseClientOptions } from './lib/types' import { SupabaseAuthClient } from './lib/SupabaseAuthClient' import { SupabaseQueryBuilder } from './lib/SupabaseQueryBuilder' @@ -51,6 +52,8 @@ export default class SupabaseClient { if (!supabaseUrl) throw new Error('supabaseUrl is required.') if (!supabaseKey) throw new Error('supabaseKey is required.') + supabaseUrl = stripTrailingSlash(supabaseUrl) + const settings = { ...DEFAULT_OPTIONS, ...options } this.restUrl = `${supabaseUrl}/rest/v1` this.realtimeUrl = `${supabaseUrl}/realtime/v1`.replace('http', 'ws') diff --git a/src/lib/helpers.ts b/src/lib/helpers.ts index 686282e0e..0d9a073d5 100644 --- a/src/lib/helpers.ts +++ b/src/lib/helpers.ts @@ -7,3 +7,7 @@ export function uuid() { return v.toString(16) }) } + +export function stripTrailingSlash(url: string) { + return url.replace(/\/$/, ""); +}