DefaultDataTransferService
final class DefaultDataTransferService
extension DefaultDataTransferService: DataTransferService
DataTransferService 프로토콜을 준수하며, 네트워크 서비스, 에러 해결, 에러 로거의 인스턴스를 가지고 있습니다.
- 네트워크 요청의 성공 또는 실패에 따라 적절한 동작을 실행한다.
-
Declaration
Swift
private let networkService: NetworkService
-
Declaration
Swift
private let errorResolver: DataTransferErrorResolver
-
Declaration
Swift
private let errorLogger: DataTransferErrorLogger
-
Declaration
Swift
init( with networkService: NetworkService, errorResolver: DataTransferErrorResolver = DefaultDataTransferErrorResolver(), errorLogger: DataTransferErrorLogger = DefaultDataTransferErrorLogger() )
-
Declaration
Swift
func request<T: Decodable, E: ResponseRequestable>( with endpoint: E, on queue: DataTransferDispatchQueue, completion: @escaping CompltionHandler<T> ) -> NetworkCancellable? where T : Decodable, T == E.Response, E : ResponseRequestable
-
Declaration
Swift
func request<T, E>( with endpoint: E, completion: @escaping CompltionHandler<T> ) -> NetworkCancellable? where T : Decodable, T == E.Response, E : ResponseRequestable
-
Declaration
Swift
func request<E>( with endpoint: E, on queue: DataTransferDispatchQueue, completion: @escaping CompltionHandler<Void> ) -> NetworkCancellable? where E : ResponseRequestable, E.Response == ()
-
Declaration
Swift
func request<E>( with endpoint: E, completion: @escaping CompltionHandler<Void> ) -> NetworkCancellable? where E : ResponseRequestable, E.Response == ()
-
Declaration
Swift
private func decode<T>(data: Data?, decoder: ResponseDecoder) -> Result<T, DataTransferError> where T : Decodable
-
Declaration
Swift
private func resolve(networkError error: NetworkError) -> DataTransferError