diff --git a/GustoNetwork/Sources/Network/NetworkClient.swift b/GustoNetwork/Sources/Network/NetworkClient.swift index b1ff4f1..53ab1f4 100644 --- a/GustoNetwork/Sources/Network/NetworkClient.swift +++ b/GustoNetwork/Sources/Network/NetworkClient.swift @@ -1,7 +1,7 @@ import Foundation public protocol NetworkClient: Sendable { - func request(_ request: Requestable) async throws -> T + func request(_ request: Requestable) async throws -> T var session: URLSession { get } } @@ -14,4 +14,9 @@ extension NetworkClient { throw NetworkError.responseError(statusCode: httpResponse.statusCode) } } + public func request(_ request: Requestable) async throws -> Void { + let request = try request.makeRequest() + let (_, response) = try await session.data(for: request) + try self.validate(response) + } } diff --git a/GustoNetwork/Sources/Network/NetworkProtocolImplement.swift b/GustoNetwork/Sources/Network/NetworkProtocolImplement.swift index f0061ef..7dfc0a3 100644 --- a/GustoNetwork/Sources/Network/NetworkProtocolImplement.swift +++ b/GustoNetwork/Sources/Network/NetworkProtocolImplement.swift @@ -7,12 +7,6 @@ public final class NetworkProtocolImpl: NetworkClient { self.session = session } - public func request(_ request: Requestable) async throws -> T { - let request = try request.makeRequest() - let (_, response) = try await session.data(for: request) - try validate(response) - return () as! T - } public func request(_ request: Requestable) async throws -> T where T: Decodable { let request = try request.makeRequest() let (data, response) = try await session.data(for: request) diff --git a/GustoNetwork/Sources/Network/RequestableProtocol.swift b/GustoNetwork/Sources/Network/RequestableProtocol.swift index 8bcc18b..bd63468 100644 --- a/GustoNetwork/Sources/Network/RequestableProtocol.swift +++ b/GustoNetwork/Sources/Network/RequestableProtocol.swift @@ -25,7 +25,7 @@ extension Requestable { guard let url = URL(string: baseURL + self.path) else { throw NetworkError.invalidURL } - var urlRequest = URLRequest(url: URL(string: baseURL + self.path)!) + var urlRequest = URLRequest(url: url) urlRequest.httpMethod = self.method.rawValue self.headers?.forEach { urlRequest.addValue($1, forHTTPHeaderField: $0) }