import Foundation struct APIClient { let session: URLSession static func make() -> APIClient { let configuration = URLSessionConfiguration.default if ProcessInfo.processInfo.environment["UITEST_NETWORK_MOCKS"] == "enabled" { configuration.protocolClasses = [FixtureURLProtocol.self] } return APIClient(session: URLSession(configuration: configuration)) } func loadProfile() async throws -> Profile { let url = URL(string: "https://api.example.com/profile")! let (data, _) = try await session.data(from: url) return try JSONDecoder().decode(Profile.self, from: data) } }