Skip to content

Commit 42def12

Browse files
committed
refactor more and more
1 parent 48aea8c commit 42def12

File tree

8 files changed

+29
-21
lines changed

8 files changed

+29
-21
lines changed

Sources/ClientRuntime/Config/DefaultSDKRuntimeConfiguration.swift

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import struct SmithyRetries.ExponentialBackoffStrategy
1616
import protocol SmithyRetriesAPI.RetryErrorInfoProvider
1717
import protocol SmithyRetriesAPI.RetryStrategy
1818
import struct SmithyRetriesAPI.RetryStrategyOptions
19-
import class SmithySwiftNIO.SwiftNIOHTTPClient
2019

2120
public struct DefaultSDKRuntimeConfiguration<DefaultSDKRuntimeRetryStrategy: RetryStrategy,
2221
DefaultSDKRuntimeRetryErrorInfoProvider: RetryErrorInfoProvider> {
@@ -92,21 +91,20 @@ public extension DefaultSDKRuntimeConfiguration {
9291
static func makeClient(
9392
httpClientConfiguration: HttpClientConfiguration = defaultHttpClientConfiguration
9493
) -> HTTPClient {
95-
return SwiftNIOHTTPClient(httpClientConfiguration: httpClientConfiguration)
96-
// #if os(iOS) || os(tvOS) || os(watchOS) || os(visionOS) || os(macOS)
97-
// return URLSessionHTTPClient(httpClientConfiguration: httpClientConfiguration)
98-
// #else
99-
// let connectTimeoutMs = httpClientConfiguration.connectTimeout.map { UInt32($0 * 1000) }
100-
// let socketTimeout = UInt32(httpClientConfiguration.socketTimeout)
101-
// let config = CRTClientEngineConfig(
102-
// maxConnectionsPerEndpoint: httpClientConfiguration.maxConnections,
103-
// telemetry: httpClientConfiguration.telemetry ?? CRTClientEngine.noOpCrtClientEngineTelemetry,
104-
// connectTimeoutMs: connectTimeoutMs,
105-
// crtTlsOptions: httpClientConfiguration.tlsConfiguration as? CRTClientTLSOptions,
106-
// socketTimeout: socketTimeout
107-
// )
108-
// return CRTClientEngine(config: config)
109-
// #endif
94+
#if os(iOS) || os(tvOS) || os(watchOS) || os(visionOS) || os(macOS)
95+
return URLSessionHTTPClient(httpClientConfiguration: httpClientConfiguration)
96+
#else
97+
let connectTimeoutMs = httpClientConfiguration.connectTimeout.map { UInt32($0 * 1000) }
98+
let socketTimeout = UInt32(httpClientConfiguration.socketTimeout)
99+
let config = CRTClientEngineConfig(
100+
maxConnectionsPerEndpoint: httpClientConfiguration.maxConnections,
101+
telemetry: httpClientConfiguration.telemetry ?? CRTClientEngine.noOpCrtClientEngineTelemetry,
102+
connectTimeoutMs: connectTimeoutMs,
103+
crtTlsOptions: httpClientConfiguration.tlsConfiguration as? CRTClientTLSOptions,
104+
socketTimeout: socketTimeout
105+
)
106+
return CRTClientEngine(config: config)
107+
#endif
110108
}
111109

112110
/// The default HTTP client configuration to use.

Sources/ClientRuntime/Networking/Http/CRT/CRTClientEngine.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import protocol SmithyHTTPAPI.HTTPClient
1919
import class SmithyHTTPAPI.HTTPRequest
2020
import class SmithyHTTPAPI.HTTPResponse
2121
import enum SmithyHTTPAPI.HTTPStatusCode
22+
import class SmithyHTTPClientAPI.HttpTelemetry
23+
import enum SmithyHTTPClientAPI.HttpMetricsAttributesKeys
2224
import class SmithyStreams.BufferedStream
2325
#if os(Linux)
2426
import Glibc

Sources/ClientRuntime/Networking/Http/CRT/CRTClientEngineConfig.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
* SPDX-License-Identifier: Apache-2.0.
44
*/
55

6+
import class SmithyHTTPClientAPI.HttpTelemetry
7+
68
struct CRTClientEngineConfig: Sendable {
79

810
/// Max connections the manager can contain per endpoint

Sources/ClientRuntime/Networking/Http/CRT/HTTP2Stream+ByteStream.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
import AwsCommonRuntimeKit
99
import struct Smithy.Attributes
1010
import enum Smithy.ByteStream
11+
import class SmithyHTTPClientAPI.HttpTelemetry
12+
import enum SmithyHTTPClientAPI.HttpMetricsAttributesKeys
1113

1214
extension HTTP2Stream {
1315
/// Returns the recommended size, in bytes, for the data to write

Sources/ClientRuntime/Networking/Http/URLSession/FoundationStreamBridge.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import class Foundation.DispatchQueue
1313
import class Foundation.InputStream
1414
import class Foundation.NSObject
1515
import class Foundation.OutputStream
16+
import class SmithyHTTPClientAPI.HttpTelemetry
17+
import enum SmithyHTTPClientAPI.HttpMetricsAttributesKeys
1618
import class Foundation.RunLoop
1719
import class Foundation.Stream
1820
import protocol Foundation.StreamDelegate

Sources/ClientRuntime/Networking/Http/URLSession/URLSessionHTTPClient.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ import class Foundation.NSRecursiveLock
1818
import var Foundation.NSURLAuthenticationMethodClientCertificate
1919
import var Foundation.NSURLAuthenticationMethodServerTrust
2020
import struct Foundation.TimeInterval
21+
import class SmithyHTTPClientAPI.HttpTelemetry
22+
import enum SmithyHTTPClientAPI.HttpMetricsAttributesKeys
2123
import class Foundation.URLAuthenticationChallenge
2224
import struct Foundation.URLComponents
2325
import class Foundation.URLCredential

Sources/ClientRuntime/Networking/Http/HttpTelemetry.swift renamed to Sources/SmithyHTTPClientAPI/HttpTelemetry.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public class HttpTelemetry: @unchecked Sendable {
8787

8888
public init(
8989
httpScope: String,
90-
telemetryProvider: any TelemetryProvider = DefaultTelemetry.provider,
90+
telemetryProvider: any TelemetryProvider,
9191
meterScope: String? = nil,
9292
meterAttributes: Attributes? = nil,
9393
tracerScope: String? = nil,
@@ -189,9 +189,9 @@ private enum RequestState {
189189
fileprivate static let queued = "queued"
190190
}
191191

192-
internal enum HttpMetricsAttributesKeys {
192+
public enum HttpMetricsAttributesKeys {
193193
fileprivate static let state = AttributeKey<String>(name: "state")
194-
internal static let serverAddress = AttributeKey<String>(name: "server.address")
194+
public static let serverAddress = AttributeKey<String>(name: "server.address")
195195
}
196196

197197
public struct HttpMetricsUsage {

Sources/SmithySwiftNIO/SwiftNIOHTTPClient.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import struct Foundation.URLQueryItem
2323
/// This implementation is thread-safe and supports concurrent request execution.
2424
public final class SwiftNIOHTTPClient: SmithyHTTPAPI.HTTPClient {
2525
public static let noOpSwiftNIOHTTPClientTelemetry =
26-
ClientRuntime.HttpTelemetry(
26+
SmithyHTTPClientAPI.HttpTelemetry(
2727
httpScope: "SwiftNIOHTTPClient",
2828
telemetryProvider: ClientRuntime.DefaultTelemetry.provider
2929
)
@@ -34,7 +34,7 @@ public final class SwiftNIOHTTPClient: SmithyHTTPAPI.HTTPClient {
3434
private let allocator: ByteBufferAllocator
3535

3636
/// HTTP Client Telemetry
37-
private let telemetry: ClientRuntime.HttpTelemetry
37+
private let telemetry: SmithyHTTPClientAPI.HttpTelemetry
3838

3939
/// Logger for HTTP-related events.
4040
private var logger: LogAgent

0 commit comments

Comments
 (0)