Files
raspberry/Packages/WalletNetwork/Sources/Common/NetworkService.swift
T
2022-08-31 14:21:25 +03:00

36 lines
733 B
Swift

//
// NetworkService.swift
//
//
// Created by Juraldinio on 04.08.2022.
//
import Foundation
import Alamofire
public protocol NetworkEnvironment {
typealias Headers = [String: String]
var url: URL { get }
var headers: Headers? { get }
}
public protocol NetworkService {
init(enmironment: NetworkEnvironment)
}
public enum NetworkServiceError: Error {
case gqlSystem([String])
case gqlApplication(String)
case gqlDecode(String)
case uncatched
}
extension NetworkEnvironment {
var httpHeaders: HTTPHeaders? {
guard let headers = self.headers else { return nil }
return HTTPHeaders(headers.compactMap { key, value in HTTPHeader(name: key, value: value) })
}
}