invoke()
Invokes a Supabase Function. See the guide for details on writing Functions.
caution
Supabase Functions are in Experimental release until 1 August 2022. There will breaking changes. Do not use them in Production.
We have released Supabase Functions to gather feedback. You're welcome to try them out and send us feedback but we strongly advise against using them for anything in production. There will be breaking changes with no notice.
- Dart
final res = await supabaseClient.functions.invoke('hello', body: {'foo': 'baa'});
final data = res.data;
final error = res.error;
Notes
- Requires an Authorization header.
- Invoke params generally match the Fetch API spec.
Examples
Basic invocation.
- Dart
final res = await supabaseClient.functions.invoke('hello', body: {'foo': 'baa'});
final data = res.data;
final error = res.error;
Specifying response type.
By default, invoke()
will parse the response as JSON. You can parse the response in the following formats: json
, blob
, text
, and arrayBuffer
.
- Dart
final res = await supabaseClient.functions.invoke(
'hello',
body: {'foo': 'baa'},
responseType: ResponseType.text,
);
final data = res.data;
final error = res.error;
Parsing custom headers.
Any headers
will be passed through to the function. A common pattern is to pass a logged-in user's JWT token as an Authorization header.
- Dart
final res = await supabaseClient.functions.invoke(
'hello',
body: {'foo': 'baa'},
headers: {
'Authorization': 'Bearer ${supabase.auth.session()?.access_token}'
},
);