From c0ae7a876898fc0a606d4f9ce925f29ab6bd9a67 Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Mon, 17 Jan 2022 18:55:17 +0530 Subject: [PATCH] feat(llc): Deprecate location in favor of edge server. Signed-off-by: xsahil03x --- packages/stream_chat/CHANGELOG.md | 4 +++ .../stream_chat/lib/src/client/client.dart | 8 +++-- .../core/http/stream_http_client_options.dart | 18 ++--------- .../http/stream_http_client_options_test.dart | 32 +------------------ 4 files changed, 13 insertions(+), 49 deletions(-) diff --git a/packages/stream_chat/CHANGELOG.md b/packages/stream_chat/CHANGELOG.md index 4a2bb7ec..2e22b549 100644 --- a/packages/stream_chat/CHANGELOG.md +++ b/packages/stream_chat/CHANGELOG.md @@ -1,5 +1,9 @@ ## Upcoming +🔄 Changed + +- `client.location` is now deprecated in favor of the new [edge server](https://getstream.io/blog/chat-edge-infrastructure) and will be removed in v4.0.0. + ✅ Added - Added `client.enrichUrl` endpoint for enriching URLs with metadata. diff --git a/packages/stream_chat/lib/src/client/client.dart b/packages/stream_chat/lib/src/client/client.dart index b2ae3657..1de3c91b 100644 --- a/packages/stream_chat/lib/src/client/client.dart +++ b/packages/stream_chat/lib/src/client/client.dart @@ -66,8 +66,11 @@ class StreamChatClient { this.logLevel = Level.WARNING, LogHandlerFunction? logHandlerFunction, RetryPolicy? retryPolicy, - Location? location, - @Deprecated('Use location to change baseUrl instead') String? baseURL, + @Deprecated(''' + Location is now deprecated in favor of the new edge server. Will be removed in v4.0.0. + Read more here: https://getstream.io/blog/chat-edge-infrastructure + ''') Location? location, + String? baseURL, Duration connectTimeout = const Duration(seconds: 6), Duration receiveTimeout = const Duration(seconds: 6), StreamChatApi? chatApi, @@ -79,7 +82,6 @@ class StreamChatClient { final options = StreamHttpClientOptions( baseUrl: baseURL, - location: location, connectTimeout: connectTimeout, receiveTimeout: receiveTimeout, headers: {'X-Stream-Client': defaultUserAgent}, diff --git a/packages/stream_chat/lib/src/core/http/stream_http_client_options.dart b/packages/stream_chat/lib/src/core/http/stream_http_client_options.dart index 01cdb12e..d68e073f 100644 --- a/packages/stream_chat/lib/src/core/http/stream_http_client_options.dart +++ b/packages/stream_chat/lib/src/core/http/stream_http_client_options.dart @@ -1,32 +1,20 @@ part of 'stream_http_client.dart'; -const _defaultBaseURL = 'https://chat-us-east-1.stream-io-api.com'; +const _defaultBaseURL = 'https://chat.stream-io-api.com'; /// Client options to modify [StreamHttpClient] class StreamHttpClientOptions { /// Instantiates a new [StreamHttpClientOptions] const StreamHttpClientOptions({ String? baseUrl, - this.location, this.connectTimeout = const Duration(seconds: 6), this.receiveTimeout = const Duration(seconds: 6), this.queryParameters = const {}, this.headers = const {}, - }) : _baseUrl = baseUrl ?? _defaultBaseURL; - - final String _baseUrl; + }) : baseUrl = baseUrl ?? _defaultBaseURL; /// base url to use with client. - String get baseUrl { - if (location == null) return _baseUrl; - const serviceName = 'chat'; - final locationName = location!.name; - const baseDomainName = 'stream-io-api.com'; - return 'https://$serviceName-proxy-$locationName.$baseDomainName'; - } - - /// data center to use with client - final Location? location; + final String baseUrl; /// connect timeout, default to 6s final Duration connectTimeout; diff --git a/packages/stream_chat/test/src/core/http/stream_http_client_options_test.dart b/packages/stream_chat/test/src/core/http/stream_http_client_options_test.dart index 02cfc07a..26705816 100644 --- a/packages/stream_chat/test/src/core/http/stream_http_client_options_test.dart +++ b/packages/stream_chat/test/src/core/http/stream_http_client_options_test.dart @@ -5,8 +5,7 @@ import 'package:test/test.dart'; void main() { test('should return the all default set params', () { const options = StreamHttpClientOptions(); - expect(options.location, isNull); - expect(options.baseUrl, 'https://chat-us-east-1.stream-io-api.com'); + expect(options.baseUrl, 'https://chat.stream-io-api.com'); expect(options.connectTimeout, const Duration(seconds: 6)); expect(options.receiveTimeout, const Duration(seconds: 6)); expect(options.queryParameters, const {}); @@ -21,39 +20,10 @@ void main() { headers: {'test': 'test'}, queryParameters: {'123': '123'}, ); - expect(options.location, isNull); expect(options.baseUrl, 'base-url'); expect(options.connectTimeout, const Duration(seconds: 3)); expect(options.receiveTimeout, const Duration(seconds: 3)); expect(options.headers, {'test': 'test'}); expect(options.queryParameters, {'123': '123'}); }); - - group('should create baseUrl according to provided location', () { - test('us-east', () { - const options = StreamHttpClientOptions(location: Location.usEast); - expect(options.location, isNotNull); - expect(options.baseUrl, 'https://chat-proxy-us-east.stream-io-api.com'); - }); - test('eu-west', () { - const options = StreamHttpClientOptions(location: Location.euWest); - expect(options.location, isNotNull); - expect(options.baseUrl, 'https://chat-proxy-dublin.stream-io-api.com'); - }); - test('mumbai', () { - const options = StreamHttpClientOptions(location: Location.mumbai); - expect(options.location, isNotNull); - expect(options.baseUrl, 'https://chat-proxy-mumbai.stream-io-api.com'); - }); - test('sydney', () { - const options = StreamHttpClientOptions(location: Location.sydney); - expect(options.location, isNotNull); - expect(options.baseUrl, 'https://chat-proxy-sydney.stream-io-api.com'); - }); - test('singapore', () { - const options = StreamHttpClientOptions(location: Location.singapore); - expect(options.location, isNotNull); - expect(options.baseUrl, 'https://chat-proxy-singapore.stream-io-api.com'); - }); - }); }