in Sources/GoogleAI/GenerativeAIService.swift [29:53]
func loadRequest<T: GenerativeAIRequest>(request: T) async throws -> T.Response {
let urlRequest = try urlRequest(request: request)
#if DEBUG
printCURLCommand(from: urlRequest)
#endif
let data: Data
let rawResponse: URLResponse
(data, rawResponse) = try await urlSession.data(for: urlRequest)
let response = try httpResponse(urlResponse: rawResponse)
// Verify the status code is 200
guard response.statusCode == 200 else {
Logging.network.error("[GoogleGenerativeAI] The server responded with an error: \(response)")
if let responseString = String(data: data, encoding: .utf8) {
Logging.default.error("[GoogleGenerativeAI] Response payload: \(responseString)")
}
throw parseError(responseData: data)
}
return try parseResponse(T.Response.self, from: data)
}