From 40e507782de64a3f85acf13acf919924ccbe0122 Mon Sep 17 00:00:00 2001 From: dshukertjr <18113850+dshukertjr@users.noreply.github.com> Date: Thu, 11 Aug 2022 23:52:28 +0900 Subject: [PATCH 1/2] feat: developers can set custom headers and adding client info headers --- example/lib/generated_plugin_registrant.dart | 19 +++++++++++++++++++ .../.plugin_symlinks/path_provider_linux | 1 + .../.plugin_symlinks/url_launcher_linux | 1 + .../ephemeral/Flutter-Generated.xcconfig | 11 +++++++++++ .../ephemeral/flutter_export_environment.sh | 12 ++++++++++++ .../.plugin_symlinks/app_links_windows | 1 + .../.plugin_symlinks/path_provider_windows | 1 + .../.plugin_symlinks/url_launcher_windows | 1 + lib/src/constants.dart | 7 +++++++ lib/src/supabase.dart | 15 ++++++++++++++- lib/src/version.dart | 1 + 11 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 example/lib/generated_plugin_registrant.dart create mode 120000 example/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux create mode 120000 example/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux create mode 100644 example/macos/Flutter/ephemeral/Flutter-Generated.xcconfig create mode 100755 example/macos/Flutter/ephemeral/flutter_export_environment.sh create mode 120000 example/windows/flutter/ephemeral/.plugin_symlinks/app_links_windows create mode 120000 example/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows create mode 120000 example/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows create mode 100644 lib/src/constants.dart create mode 100644 lib/src/version.dart diff --git a/example/lib/generated_plugin_registrant.dart b/example/lib/generated_plugin_registrant.dart new file mode 100644 index 00000000..4c375791 --- /dev/null +++ b/example/lib/generated_plugin_registrant.dart @@ -0,0 +1,19 @@ +// +// Generated file. Do not edit. +// + +// ignore_for_file: directives_ordering +// ignore_for_file: lines_longer_than_80_chars +// ignore_for_file: depend_on_referenced_packages + +import 'package:app_links_web/app_links_web.dart'; +import 'package:url_launcher_web/url_launcher_web.dart'; + +import 'package:flutter_web_plugins/flutter_web_plugins.dart'; + +// ignore: public_member_api_docs +void registerPlugins(Registrar registrar) { + AppLinksPluginWeb.registerWith(registrar); + UrlLauncherPlugin.registerWith(registrar); + registrar.registerMessageHandler(); +} diff --git a/example/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux b/example/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux new file mode 120000 index 00000000..88503db2 --- /dev/null +++ b/example/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux @@ -0,0 +1 @@ +/Users/tylershukert/development/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.7/ \ No newline at end of file diff --git a/example/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux b/example/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux new file mode 120000 index 00000000..6e926275 --- /dev/null +++ b/example/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux @@ -0,0 +1 @@ +/Users/tylershukert/development/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher_linux-3.0.1/ \ No newline at end of file diff --git a/example/macos/Flutter/ephemeral/Flutter-Generated.xcconfig b/example/macos/Flutter/ephemeral/Flutter-Generated.xcconfig new file mode 100644 index 00000000..e213eab7 --- /dev/null +++ b/example/macos/Flutter/ephemeral/Flutter-Generated.xcconfig @@ -0,0 +1,11 @@ +// This is a generated file; do not edit or check into version control. +FLUTTER_ROOT=/Users/tylershukert/development/flutter +FLUTTER_APPLICATION_PATH=/Users/tylershukert/Desktop/supabase-flutter/example +COCOAPODS_PARALLEL_CODE_SIGN=true +FLUTTER_BUILD_DIR=build +FLUTTER_BUILD_NAME=1.0.0 +FLUTTER_BUILD_NUMBER=1 +DART_OBFUSCATION=false +TRACK_WIDGET_CREATION=false +TREE_SHAKE_ICONS=false +PACKAGE_CONFIG=.dart_tool/package_config.json diff --git a/example/macos/Flutter/ephemeral/flutter_export_environment.sh b/example/macos/Flutter/ephemeral/flutter_export_environment.sh new file mode 100755 index 00000000..218bd018 --- /dev/null +++ b/example/macos/Flutter/ephemeral/flutter_export_environment.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# This is a generated file; do not edit or check into version control. +export "FLUTTER_ROOT=/Users/tylershukert/development/flutter" +export "FLUTTER_APPLICATION_PATH=/Users/tylershukert/Desktop/supabase-flutter/example" +export "COCOAPODS_PARALLEL_CODE_SIGN=true" +export "FLUTTER_BUILD_DIR=build" +export "FLUTTER_BUILD_NAME=1.0.0" +export "FLUTTER_BUILD_NUMBER=1" +export "DART_OBFUSCATION=false" +export "TRACK_WIDGET_CREATION=false" +export "TREE_SHAKE_ICONS=false" +export "PACKAGE_CONFIG=.dart_tool/package_config.json" diff --git a/example/windows/flutter/ephemeral/.plugin_symlinks/app_links_windows b/example/windows/flutter/ephemeral/.plugin_symlinks/app_links_windows new file mode 120000 index 00000000..93d1b21b --- /dev/null +++ b/example/windows/flutter/ephemeral/.plugin_symlinks/app_links_windows @@ -0,0 +1 @@ +/Users/tylershukert/development/flutter/.pub-cache/hosted/pub.dartlang.org/app_links_windows-1.0.0/ \ No newline at end of file diff --git a/example/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows b/example/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows new file mode 120000 index 00000000..0b1ae04d --- /dev/null +++ b/example/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows @@ -0,0 +1 @@ +/Users/tylershukert/development/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.1.1/ \ No newline at end of file diff --git a/example/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows b/example/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows new file mode 120000 index 00000000..ffa3ac64 --- /dev/null +++ b/example/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows @@ -0,0 +1 @@ +/Users/tylershukert/development/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher_windows-3.0.1/ \ No newline at end of file diff --git a/lib/src/constants.dart b/lib/src/constants.dart new file mode 100644 index 00000000..796f092a --- /dev/null +++ b/lib/src/constants.dart @@ -0,0 +1,7 @@ +import 'package:supabase_flutter/src/version.dart'; + +class Constants { + static const Map defaultHeaders = { + 'X-Client-Info': 'supabase-flutter/$version', + }; +} diff --git a/lib/src/supabase.dart b/lib/src/supabase.dart index 9ac9a08a..530cc9a0 100644 --- a/lib/src/supabase.dart +++ b/lib/src/supabase.dart @@ -1,6 +1,7 @@ import 'package:flutter/foundation.dart'; import 'package:http/http.dart'; import 'package:supabase/supabase.dart'; +import 'package:supabase_flutter/src/constants.dart'; import 'package:supabase_flutter/src/local_storage.dart'; import 'package:supabase_flutter/src/supabase_auth.dart'; @@ -45,6 +46,7 @@ class Supabase { bool? debug, LocalStorage? localStorage, Client? httpClient, + Map? headers, }) async { assert( !_instance._initialized, @@ -54,6 +56,7 @@ class Supabase { url, anonKey, httpClient: httpClient, + customHeaders: headers, ); _instance._debugEnable = debug ?? kDebugMode; _instance.log('***** Supabase init completed $_instance'); @@ -82,11 +85,21 @@ class Supabase { _initialized = false; } - void _init(String supabaseUrl, String supabaseAnonKey, {Client? httpClient}) { + void _init( + String supabaseUrl, + String supabaseAnonKey, { + Client? httpClient, + Map? customHeaders, + }) { + final headers = { + ...Constants.defaultHeaders, + if (customHeaders != null) ...customHeaders + }; client = SupabaseClient( supabaseUrl, supabaseAnonKey, httpClient: httpClient, + headers: headers, ); _initialized = true; } diff --git a/lib/src/version.dart b/lib/src/version.dart new file mode 100644 index 00000000..d6ef0bf8 --- /dev/null +++ b/lib/src/version.dart @@ -0,0 +1 @@ +const version = '1.0.0-dev.3'; From 8578ee01da90eba58ae9a1cc21c9edcb3a307709 Mon Sep 17 00:00:00 2001 From: dshukertjr <18113850+dshukertjr@users.noreply.github.com> Date: Thu, 11 Aug 2022 23:55:16 +0900 Subject: [PATCH 2/2] fix: delete files that got in by mistake --- example/lib/generated_plugin_registrant.dart | 19 ------------------- .../.plugin_symlinks/path_provider_linux | 1 - .../.plugin_symlinks/url_launcher_linux | 1 - .../ephemeral/Flutter-Generated.xcconfig | 11 ----------- .../ephemeral/flutter_export_environment.sh | 12 ------------ .../.plugin_symlinks/app_links_windows | 1 - .../.plugin_symlinks/path_provider_windows | 1 - .../.plugin_symlinks/url_launcher_windows | 1 - 8 files changed, 47 deletions(-) delete mode 100644 example/lib/generated_plugin_registrant.dart delete mode 120000 example/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux delete mode 120000 example/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux delete mode 100644 example/macos/Flutter/ephemeral/Flutter-Generated.xcconfig delete mode 100755 example/macos/Flutter/ephemeral/flutter_export_environment.sh delete mode 120000 example/windows/flutter/ephemeral/.plugin_symlinks/app_links_windows delete mode 120000 example/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows delete mode 120000 example/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows diff --git a/example/lib/generated_plugin_registrant.dart b/example/lib/generated_plugin_registrant.dart deleted file mode 100644 index 4c375791..00000000 --- a/example/lib/generated_plugin_registrant.dart +++ /dev/null @@ -1,19 +0,0 @@ -// -// Generated file. Do not edit. -// - -// ignore_for_file: directives_ordering -// ignore_for_file: lines_longer_than_80_chars -// ignore_for_file: depend_on_referenced_packages - -import 'package:app_links_web/app_links_web.dart'; -import 'package:url_launcher_web/url_launcher_web.dart'; - -import 'package:flutter_web_plugins/flutter_web_plugins.dart'; - -// ignore: public_member_api_docs -void registerPlugins(Registrar registrar) { - AppLinksPluginWeb.registerWith(registrar); - UrlLauncherPlugin.registerWith(registrar); - registrar.registerMessageHandler(); -} diff --git a/example/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux b/example/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux deleted file mode 120000 index 88503db2..00000000 --- a/example/linux/flutter/ephemeral/.plugin_symlinks/path_provider_linux +++ /dev/null @@ -1 +0,0 @@ -/Users/tylershukert/development/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.7/ \ No newline at end of file diff --git a/example/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux b/example/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux deleted file mode 120000 index 6e926275..00000000 --- a/example/linux/flutter/ephemeral/.plugin_symlinks/url_launcher_linux +++ /dev/null @@ -1 +0,0 @@ -/Users/tylershukert/development/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher_linux-3.0.1/ \ No newline at end of file diff --git a/example/macos/Flutter/ephemeral/Flutter-Generated.xcconfig b/example/macos/Flutter/ephemeral/Flutter-Generated.xcconfig deleted file mode 100644 index e213eab7..00000000 --- a/example/macos/Flutter/ephemeral/Flutter-Generated.xcconfig +++ /dev/null @@ -1,11 +0,0 @@ -// This is a generated file; do not edit or check into version control. -FLUTTER_ROOT=/Users/tylershukert/development/flutter -FLUTTER_APPLICATION_PATH=/Users/tylershukert/Desktop/supabase-flutter/example -COCOAPODS_PARALLEL_CODE_SIGN=true -FLUTTER_BUILD_DIR=build -FLUTTER_BUILD_NAME=1.0.0 -FLUTTER_BUILD_NUMBER=1 -DART_OBFUSCATION=false -TRACK_WIDGET_CREATION=false -TREE_SHAKE_ICONS=false -PACKAGE_CONFIG=.dart_tool/package_config.json diff --git a/example/macos/Flutter/ephemeral/flutter_export_environment.sh b/example/macos/Flutter/ephemeral/flutter_export_environment.sh deleted file mode 100755 index 218bd018..00000000 --- a/example/macos/Flutter/ephemeral/flutter_export_environment.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# This is a generated file; do not edit or check into version control. -export "FLUTTER_ROOT=/Users/tylershukert/development/flutter" -export "FLUTTER_APPLICATION_PATH=/Users/tylershukert/Desktop/supabase-flutter/example" -export "COCOAPODS_PARALLEL_CODE_SIGN=true" -export "FLUTTER_BUILD_DIR=build" -export "FLUTTER_BUILD_NAME=1.0.0" -export "FLUTTER_BUILD_NUMBER=1" -export "DART_OBFUSCATION=false" -export "TRACK_WIDGET_CREATION=false" -export "TREE_SHAKE_ICONS=false" -export "PACKAGE_CONFIG=.dart_tool/package_config.json" diff --git a/example/windows/flutter/ephemeral/.plugin_symlinks/app_links_windows b/example/windows/flutter/ephemeral/.plugin_symlinks/app_links_windows deleted file mode 120000 index 93d1b21b..00000000 --- a/example/windows/flutter/ephemeral/.plugin_symlinks/app_links_windows +++ /dev/null @@ -1 +0,0 @@ -/Users/tylershukert/development/flutter/.pub-cache/hosted/pub.dartlang.org/app_links_windows-1.0.0/ \ No newline at end of file diff --git a/example/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows b/example/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows deleted file mode 120000 index 0b1ae04d..00000000 --- a/example/windows/flutter/ephemeral/.plugin_symlinks/path_provider_windows +++ /dev/null @@ -1 +0,0 @@ -/Users/tylershukert/development/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.1.1/ \ No newline at end of file diff --git a/example/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows b/example/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows deleted file mode 120000 index ffa3ac64..00000000 --- a/example/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows +++ /dev/null @@ -1 +0,0 @@ -/Users/tylershukert/development/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher_windows-3.0.1/ \ No newline at end of file