diff --git a/packages/nextcloud/lib/src/client.dart b/packages/nextcloud/lib/src/client.dart index b535a846..e9467004 100644 --- a/packages/nextcloud/lib/src/client.dart +++ b/packages/nextcloud/lib/src/client.dart @@ -9,7 +9,7 @@ class NextcloudClient { this.password, this.language, this.appType = AppType.unknown, - this.userAgentSuffix, + this.userAgentOverride, }) { final authentication = username != null && password != null ? HttpBasicAuth(username: username!, password: password!) @@ -55,17 +55,13 @@ class NextcloudClient { } /// Headers that should be used for all requests - late final commonHeaders = () { - // ignore: no_leading_underscores_for_local_identifiers - final _userAgent = userAgent; - return { - 'OCS-APIRequest': 'true', - 'Accept': 'application/json', - if (_userAgent != null) ...{ - 'User-Agent': _userAgent, - } - }; - }(); + late final commonHeaders = { + 'OCS-APIRequest': 'true', + 'Accept': 'application/json', + if (userAgent != null) ...{ + 'User-Agent': userAgent!, + }, + }; T _addCommonSettings(final T apiClient) { var newApiClient = apiClient; @@ -91,17 +87,11 @@ class NextcloudClient { /// App type the client will register as. Only relevant for notifications. See [AppType] for explanations. final AppType appType; - /// Will be appended to the user-agent from [appType] - final String? userAgentSuffix; + /// Overrides the user-agent set by [appType] + final String? userAgentOverride; - /// User-agent made up from the user-agent from [appType] and the [userAgentSuffix] - String? get userAgent { - if (appType.userAgent != null || userAgentSuffix != null) { - return [appType.userAgent, userAgentSuffix].where((final a) => a != null).join(); - } - - return null; - } + /// User-agent made up from the user-agent from [userAgentOverride] and the [appType] + late String? userAgent = userAgentOverride ?? appType.userAgent; NextcloudWebDAVClient? _webdav; diff --git a/packages/nextcloud/test/client_test.dart b/packages/nextcloud/test/client_test.dart index 519f4b6b..2acbe9e4 100644 --- a/packages/nextcloud/test/client_test.dart +++ b/packages/nextcloud/test/client_test.dart @@ -21,18 +21,9 @@ Future main() async { test('User-Agent with suffix', () async { client = await TestHelper.getPreparedClient( dockerImageName, - userAgentSuffix: 'test', + userAgentOverride: 'test', ); expect(client.userAgent, 'test'); }); - - test('User-Agent from AppType with suffix', () async { - client = await TestHelper.getPreparedClient( - dockerImageName, - appType: AppType.nextcloud, - userAgentSuffix: ' test', - ); - expect(client.userAgent, '${AppType.nextcloud.userAgent} test'); - }); }); } diff --git a/packages/nextcloud/test/helper.dart b/packages/nextcloud/test/helper.dart index c31fe5a0..9228183a 100644 --- a/packages/nextcloud/test/helper.dart +++ b/packages/nextcloud/test/helper.dart @@ -21,7 +21,7 @@ class TestNextcloudClient extends NextcloudClient { super.password, super.language, super.appType, - super.userAgentSuffix, + super.userAgentOverride, }); final String containerID; @@ -138,7 +138,7 @@ class TestHelper { final String? password = defaultPassword, final bool useAppPassword = false, final AppType appType = AppType.unknown, - final String? userAgentSuffix, + final String? userAgentOverride, }) async { // ignore: prefer_asserts_with_message assert(!useAppPassword || (username != null && password != null)); @@ -198,7 +198,7 @@ class TestHelper { username: username, password: clientPassword, appType: appType, - userAgentSuffix: userAgentSuffix, + userAgentOverride: userAgentOverride, ); var iteration = 0;