Skip to content

Commit 936b38f

Browse files
authored
fix: update user agent values to be consistent across plugins (#3178)
* fix: update user agent for Geo, Logging, and API plugins * chore: code cleanup * chore: resolve per review comment * chore: code cleanup
1 parent 82098d1 commit 936b38f

File tree

7 files changed

+19
-75
lines changed

7 files changed

+19
-75
lines changed

AmplifyPlugins/API/Sources/AWSAPIPlugin/AWSAPIPluginsCore.swift

Lines changed: 0 additions & 63 deletions
This file was deleted.

AmplifyPlugins/API/Sources/AWSAPIPlugin/Interceptor/RequestInterceptor/APIKeyURLRequestInterceptor.swift

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import Foundation
1111

1212
struct APIKeyURLRequestInterceptor: URLRequestInterceptor {
1313

14+
private let userAgent = AmplifyAWSServiceConfiguration.frameworkMetaData().description
1415
let apiKeyProvider: APIKeyProvider
1516

1617
init(apiKeyProvider: APIKeyProvider) {
@@ -20,10 +21,8 @@ struct APIKeyURLRequestInterceptor: URLRequestInterceptor {
2021
func intercept(_ request: URLRequest) -> URLRequest {
2122
var modifiedRequest = request
2223
let apiKey = apiKeyProvider.getAPIKey()
23-
modifiedRequest.addValue(apiKey,
24-
forHTTPHeaderField: URLRequestConstants.Header.xApiKey)
25-
modifiedRequest.setValue(AWSAPIPluginsCore.baseUserAgent(),
26-
forHTTPHeaderField: URLRequestConstants.Header.userAgent)
24+
modifiedRequest.addValue(apiKey, forHTTPHeaderField: URLRequestConstants.Header.xApiKey)
25+
modifiedRequest.setValue(userAgent, forHTTPHeaderField: URLRequestConstants.Header.userAgent)
2726

2827
return modifiedRequest
2928
}

AmplifyPlugins/API/Sources/AWSAPIPlugin/Interceptor/RequestInterceptor/AuthTokenURLRequestInterceptor.swift

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ import AWSPluginsCore
1010
import Foundation
1111

1212
struct AuthTokenURLRequestInterceptor: URLRequestInterceptor {
13-
13+
14+
static let AWSDateISO8601DateFormat2 = "yyyyMMdd'T'HHmmss'Z'"
15+
16+
private let userAgent = AmplifyAWSServiceConfiguration.frameworkMetaData().description
1417
let authTokenProvider: AuthTokenProvider
1518

1619
init(authTokenProvider: AuthTokenProvider) {
@@ -24,14 +27,14 @@ struct AuthTokenURLRequestInterceptor: URLRequestInterceptor {
2427
}
2528
let date = Date()
2629
let dateFormatter = DateFormatter()
27-
dateFormatter.dateFormat = AWSAPIPluginsCore.AWSDateISO8601DateFormat2
30+
dateFormatter.dateFormat = Self.AWSDateISO8601DateFormat2
2831
let amzDate = dateFormatter.string(from: date)
2932

3033
mutableRequest.setValue(amzDate,
3134
forHTTPHeaderField: URLRequestConstants.Header.xAmzDate)
3235
mutableRequest.setValue(URLRequestConstants.ContentType.applicationJson,
3336
forHTTPHeaderField: URLRequestConstants.Header.contentType)
34-
mutableRequest.setValue(AWSAPIPluginsCore.baseUserAgent(),
37+
mutableRequest.setValue(userAgent,
3538
forHTTPHeaderField: URLRequestConstants.Header.userAgent)
3639

3740
let token: String

AmplifyPlugins/API/Sources/AWSAPIPlugin/Interceptor/RequestInterceptor/IAMURLRequestInterceptor.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ struct IAMURLRequestInterceptor: URLRequestInterceptor {
1616
let iamCredentialsProvider: IAMCredentialsProvider
1717
let region: AWSRegionType
1818
let endpointType: AWSAPICategoryPluginEndpointType
19-
19+
private let userAgent = AmplifyAWSServiceConfiguration.frameworkMetaData().description
20+
2021
init(iamCredentialsProvider: IAMCredentialsProvider,
2122
region: AWSRegionType,
2223
endpointType: AWSAPICategoryPluginEndpointType) {
@@ -37,7 +38,7 @@ struct IAMURLRequestInterceptor: URLRequestInterceptor {
3738

3839
request.setValue(URLRequestConstants.ContentType.applicationJson, forHTTPHeaderField: URLRequestConstants.Header.contentType)
3940
request.setValue(host, forHTTPHeaderField: "host")
40-
request.setValue(AWSAPIPluginsCore.baseUserAgent(), forHTTPHeaderField: URLRequestConstants.Header.userAgent)
41+
request.setValue(userAgent, forHTTPHeaderField: URLRequestConstants.Header.userAgent)
4142

4243
let httpMethod = (request.httpMethod?.uppercased())
4344
.flatMap(HttpMethodType.init(rawValue:)) ?? .get

AmplifyPlugins/API/Sources/AWSAPIPlugin/Operation/AWSGraphQLSubscriptionTaskRunner.swift

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public class AWSGraphQLSubscriptionTaskRunner<R: Decodable>: InternalTaskRunner,
2121
let subscriptionConnectionFactory: SubscriptionConnectionFactory
2222
let authService: AWSAuthServiceBehavior
2323
var apiAuthProviderFactory: APIAuthProviderFactory
24+
private let userAgent = AmplifyAWSServiceConfiguration.frameworkMetaData().description
2425

2526
var subscriptionConnection: SubscriptionConnection?
2627
var subscriptionItem: SubscriptionItem?
@@ -112,7 +113,7 @@ public class AWSGraphQLSubscriptionTaskRunner<R: Decodable>: InternalTaskRunner,
112113
from endpointConfig: AWSAPICategoryPluginConfiguration.EndpointConfig
113114
) -> URLRequest {
114115
var urlRequest = URLRequest(url: endpointConfig.baseURL)
115-
urlRequest.setValue(AWSAPIPluginsCore.baseUserAgent(), forHTTPHeaderField: URLRequestConstants.Header.userAgent)
116+
urlRequest.setValue(userAgent, forHTTPHeaderField: URLRequestConstants.Header.userAgent)
116117
return urlRequest
117118
}
118119

@@ -202,7 +203,8 @@ final public class AWSGraphQLSubscriptionOperation<R: Decodable>: GraphQLSubscri
202203
let pluginConfig: AWSAPICategoryPluginConfiguration
203204
let subscriptionConnectionFactory: SubscriptionConnectionFactory
204205
let authService: AWSAuthServiceBehavior
205-
206+
private let userAgent = AmplifyAWSServiceConfiguration.frameworkMetaData().description
207+
206208
var subscriptionConnection: SubscriptionConnection?
207209
var subscriptionItem: SubscriptionItem?
208210
var apiAuthProviderFactory: APIAuthProviderFactory
@@ -311,7 +313,7 @@ final public class AWSGraphQLSubscriptionOperation<R: Decodable>: GraphQLSubscri
311313
from endpointConfig: AWSAPICategoryPluginConfiguration.EndpointConfig
312314
) -> URLRequest {
313315
var urlRequest = URLRequest(url: endpointConfig.baseURL)
314-
urlRequest.setValue(AWSAPIPluginsCore.baseUserAgent(), forHTTPHeaderField: URLRequestConstants.Header.userAgent)
316+
urlRequest.setValue(userAgent, forHTTPHeaderField: URLRequestConstants.Header.userAgent)
315317
return urlRequest
316318
}
317319

AmplifyPlugins/Geo/Sources/AWSLocationGeoPlugin/AWSLocationGeoPlugin+Configure.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ extension AWSLocationGeoPlugin {
3232
let region = configuration.regionName
3333
let serviceConfiguration = try LocationClient.LocationClientConfiguration(
3434
credentialsProvider: credentialsProvider,
35+
frameworkMetadata: AmplifyAWSServiceConfiguration.frameworkMetaData(),
3536
region: region)
3637

3738
let location = LocationClient(config: serviceConfiguration)

AmplifyPlugins/Logging/Sources/AWSCloudWatchLoggingPlugin/AWSCloudWatchLoggingSessionController.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ final class AWSCloudWatchLoggingSessionController {
104104
if self.client == nil {
105105
let configuration = try CloudWatchLogsClient.CloudWatchLogsClientConfiguration(
106106
credentialsProvider: credentialsProvider,
107+
frameworkMetadata: AmplifyAWSServiceConfiguration.frameworkMetaData(),
107108
region: region
108109
)
109110
self.client = CloudWatchLogsClient(config: configuration)

0 commit comments

Comments
 (0)