This commit is contained in:
@@ -104,7 +104,24 @@ public struct Hermes {
|
|||||||
request.addValue(header.value, forHTTPHeaderField: header.key)
|
request.addValue(header.value, forHTTPHeaderField: header.key)
|
||||||
}
|
}
|
||||||
|
|
||||||
let (data, response) = try await URLSession.shared.data(for: request)
|
let task = URLSession.shared.dataTask(with: request) { data, response, error in
|
||||||
|
guard let responseData = data, error == nil else {
|
||||||
|
completion(.failure(error ?? NetworkRequestError.unknown(data, response)))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
guard let _ = response as? HTTPURLResponse else {
|
||||||
|
throw NetworkError.invalidResponse
|
||||||
|
}
|
||||||
|
|
||||||
|
guard let result = try? JSONDecoder().decode(resource.modelType, from: data) else {
|
||||||
|
throw NetworkError.decodingError
|
||||||
|
}
|
||||||
|
|
||||||
|
completion(.success(result))
|
||||||
|
}
|
||||||
|
task.resume()
|
||||||
#else
|
#else
|
||||||
let configuration = URLSessionConfiguration.default
|
let configuration = URLSessionConfiguration.default
|
||||||
configuration.httpAdditionalHeaders = defaultHeaders
|
configuration.httpAdditionalHeaders = defaultHeaders
|
||||||
@@ -112,7 +129,6 @@ public struct Hermes {
|
|||||||
let session = URLSession(configuration: configuration)
|
let session = URLSession(configuration: configuration)
|
||||||
|
|
||||||
let (data, response) = try await session.data(for: request)
|
let (data, response) = try await session.data(for: request)
|
||||||
#endif
|
|
||||||
|
|
||||||
guard let _ = response as? HTTPURLResponse else {
|
guard let _ = response as? HTTPURLResponse else {
|
||||||
throw NetworkError.invalidResponse
|
throw NetworkError.invalidResponse
|
||||||
@@ -123,5 +139,6 @@ public struct Hermes {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user