Skip to content

Commit 53530f2

Browse files
fix: make Supabase client work in Dart Edge again (supabase#675)
* make Supabase client work in Dart Edge again * fix: pass http client to realtime * style: fix --------- Co-authored-by: Vinzent <[email protected]>
1 parent 4e5df1f commit 53530f2

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

packages/realtime_client/lib/src/realtime_channel.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'dart:async';
22
import 'dart:convert';
33

4+
import 'package:http/http.dart';
45
import 'package:meta/meta.dart';
56
import 'package:realtime_client/realtime_client.dart';
67
import 'package:realtime_client/src/constants.dart';
@@ -427,7 +428,7 @@ class RealtimeChannel {
427428
]
428429
};
429430
try {
430-
final res = await socket.httpClient.post(
431+
final res = await (socket.httpClient?.post ?? post)(
431432
Uri.parse(broadcastEndpointURL),
432433
headers: headers,
433434
body: json.encode(body),

packages/realtime_client/lib/src/realtime_client.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class RealtimeClient {
5555
final Map<String, dynamic> params;
5656
final Duration timeout;
5757
final WebSocketTransport transport;
58-
final Client httpClient;
58+
final Client? httpClient;
5959
int heartbeatIntervalMs = 30000;
6060
Timer? heartbeatTimer;
6161

@@ -110,7 +110,7 @@ class RealtimeClient {
110110
this.params = const {},
111111
this.longpollerTimeout = 20000,
112112
RealtimeLogLevel? logLevel,
113-
Client? httpClient,
113+
this.httpClient,
114114
}) : endPoint = Uri.parse('$endPoint/${Transports.websocket}')
115115
.replace(
116116
queryParameters:
@@ -121,8 +121,7 @@ class RealtimeClient {
121121
...Constants.defaultHeaders,
122122
if (headers != null) ...headers,
123123
},
124-
transport = transport ?? createWebSocketClient,
125-
httpClient = httpClient ?? Client() {
124+
transport = transport ?? createWebSocketClient {
126125
final eventsPerSecond = params['eventsPerSecond'];
127126
if (eventsPerSecond != null) {
128127
eventsPerSecondLimitMs = (1000 / int.parse(eventsPerSecond)).floor();

packages/supabase/lib/src/supabase_client.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,7 @@ class SupabaseClient {
279279
},
280280
headers: headers,
281281
logLevel: options.logLevel,
282+
httpClient: _authHttpClient,
282283
);
283284
}
284285

0 commit comments

Comments
 (0)