@@ -5,16 +5,16 @@ import SupabaseStorage
55
66/**
77 The main class for accessing Supabase functionality
8-
8+
99 Initialize this class using `.init(supabaseURL: String, supabaseKey: String)`
10-
10+
1111 There are four main classes contained by the `Supabase` class.
1212 1. `auth`
1313 2. `database`
1414 3. `realtime`
1515 4. `storage`
1616 Each class listed is available under `Supabase.{name}`, eg: `Supabase.auth`
17-
17+
1818 For more usage information read the README.md
1919 */
2020public class SupabaseClient {
@@ -25,29 +25,29 @@ public class SupabaseClient {
2525 private var realtimeUrl : String
2626 private var authUrl : String
2727 private var storageUrl : String
28-
28+
2929 /// Auth client for Supabase
3030 public var auth : GoTrueClient
31-
31+
3232 /// Storage client for Supabase.
3333 public var storage : SupabaseStorageClient {
34- var headers : [ String : String ] = [ : ]
35- headers [ " apikey " ] = supabaseKey
34+ var headers : [ String : String ] = defaultHeaders
3635 headers [ " Authorization " ] = " Bearer \( auth. session? . accessToken ?? supabaseKey) "
3736 return SupabaseStorageClient ( url: storageUrl, headers: headers)
3837 }
39-
38+
4039 /// Database client for Supabase.
4140 public var database : PostgrestClient {
42- var headers : [ String : String ] = [ : ]
43- headers [ " apikey " ] = supabaseKey
41+ var headers : [ String : String ] = defaultHeaders
4442 headers [ " Authorization " ] = " Bearer \( auth. session? . accessToken ?? supabaseKey) "
4543 return PostgrestClient ( url: restUrl, headers: headers, schema: schema)
4644 }
47-
45+
4846 /// Realtime client for Supabase
4947 private var realtime : RealtimeClient
50-
48+
49+ private var defaultHeaders : [ String : String ]
50+
5151 /// Init `Supabase` with the provided parameters.
5252 /// - Parameters:
5353 /// - supabaseUrl: Unique Supabase project url
@@ -67,12 +67,14 @@ public class SupabaseClient {
6767 realtimeUrl = " \( supabaseUrl) /realtime/v1 "
6868 authUrl = " \( supabaseUrl) /auth/v1 "
6969 storageUrl = " \( supabaseUrl) /storage/v1 "
70-
70+
71+ defaultHeaders = [ " X-Client-Info " : " supabase-swift/0.0.1 " , " apikey " : supabaseKey]
72+
7173 auth = GoTrueClient (
7274 url: authUrl,
73- headers: [ " apikey " : supabaseKey ] ,
75+ headers: defaultHeaders ,
7476 autoRefreshToken: autoRefreshToken
7577 )
76- realtime = RealtimeClient ( endPoint: realtimeUrl, params: [ " apikey " : supabaseKey ] )
78+ realtime = RealtimeClient ( endPoint: realtimeUrl, params: defaultHeaders )
7779 }
7880}
0 commit comments