Skip to content

Commit 446f62d

Browse files
committed
Add error message
1 parent ce0da47 commit 446f62d

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

FirebaseAI/Sources/GenerativeAIService.swift

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ struct GenerativeAIService {
180180
urlRequest.setValue("application/json", forHTTPHeaderField: "Content-Type")
181181

182182
if let appCheck = firebaseInfo.appCheck {
183-
let tokenResult = await fetchAppCheckToken(appCheck: appCheck)
183+
let tokenResult = try await fetchAppCheckToken(appCheck: appCheck)
184184
urlRequest.setValue(tokenResult.token, forHTTPHeaderField: "X-Firebase-AppCheck")
185185
if let error = tokenResult.error {
186186
AILog.error(
@@ -210,18 +210,24 @@ struct GenerativeAIService {
210210
return urlRequest
211211
}
212212

213-
private func fetchAppCheckToken(appCheck: AppCheckInterop) async
213+
private func fetchAppCheckToken(appCheck: AppCheckInterop) async throws
214214
-> FIRAppCheckTokenResultInterop {
215-
if aiConfig.appCheck.requireLimitedUseTokens {
216-
if let token = await appCheck.getLimitedUseToken?() {
217-
return token
218-
}
215+
if aiConfig.appCheck.requireLimitedUseTokens {
216+
if let token = await appCheck.getLimitedUseToken?() {
217+
return token
218+
}
219219

220-
AILog.error(
221-
code: .appCheckTokenFetchFailed,
222-
"Missing getLimitedUseToken() function, but requireLimitedUseTokens was enabled."
223-
)
224-
// falls back to standard token
220+
let errorMessage = "The provided App Check token provider doesn't implement getLimitedUseToken(), but requireLimitedUseTokens was enabled.";
221+
222+
#if Debug
223+
fatalError(errorMessage)
224+
#else
225+
throw NSError(
226+
domain: "com.google.firebase.ai.GenerativeAIService",
227+
code: AILog.MessageCode.appCheckTokenFetchFailed.rawValue,
228+
userInfo: [NSLocalizedDescriptionKey: errorMessage]
229+
)
230+
#endif
225231
}
226232

227233
return await appCheck.getToken(forcingRefresh: false)

0 commit comments

Comments
 (0)