Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion GustoNetwork/Sources/Network/NetworkClient.swift
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Foundation

public protocol NetworkClient: Sendable {
func request<T>(_ request: Requestable) async throws -> T
func request<T: Decodable>(_ request: Requestable) async throws -> T
var session: URLSession { get }
}

Expand All @@ -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)
}
}
6 changes: 0 additions & 6 deletions GustoNetwork/Sources/Network/NetworkProtocolImplement.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,6 @@ public final class NetworkProtocolImpl: NetworkClient {
self.session = session
}

public func request<T>(_ 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<T>(_ request: Requestable) async throws -> T where T: Decodable {
let request = try request.makeRequest()
let (data, response) = try await session.data(for: request)
Expand Down
2 changes: 1 addition & 1 deletion GustoNetwork/Sources/Network/RequestableProtocol.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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) }

Expand Down