Files

45 lines
1.9 KiB
Swift

//
// NetworkEnvironmentImpl.swift
//
//
// Created by Juraldinio on 13.01.2023.
//
import Foundation
import WalletNetwork
struct NetworkEnvironmentImpl: NetworkEnvironment {
let configuration: URLSessionConfiguration?
let usernames: NetworkStaticAPIRecord
let backend: NetworkStaticAPIRecord
let hyperion: NetworkDynamicAPIRecord
let node: NetworkDynamicAPIRecord
static func createStubUsernames(configuration: URLSessionConfiguration,
url: URL,
headers: NetworkStaticAPIRecord.Headers? = nil) -> NetworkEnvironment {
let record = NetworkStaticAPIRecord(url: url, headers: headers)
let dumpUrl = URL(string: "Empty")!
return NetworkEnvironmentImpl(configuration: configuration,
usernames: record,
backend: NetworkStaticAPIRecord(url: dumpUrl, headers: nil),
hyperion: NetworkDynamicAPIRecord(url: { dumpUrl }, headers: nil),
node: NetworkDynamicAPIRecord(url: { dumpUrl }, headers: nil))
}
static func createStubNodes(configuration: URLSessionConfiguration,
url: URL,
headers: NetworkStaticAPIRecord.Headers? = nil) -> NetworkEnvironment {
let record = NetworkDynamicAPIRecord(url: { url }, headers: headers)
let dumpUrl = URL(string: "Empty")!
return NetworkEnvironmentImpl(configuration: configuration,
usernames: NetworkStaticAPIRecord(url: dumpUrl, headers: nil),
backend: NetworkStaticAPIRecord(url: dumpUrl, headers: nil),
hyperion: NetworkDynamicAPIRecord(url: { dumpUrl }, headers: nil),
node: record)
}
}