refine(usage): enhance query robustness and error handling
Backend improvements:
- Add InvalidHttpMethod error enum for better error semantics
- Clamp HTTP timeout to 2-30s to prevent config abuse
- Strict HTTP method validation instead of silent fallback to GET
Frontend improvements:
- Add i18n support for usage query errors (en/zh)
- Improve error handling with type-safe unknown instead of any
- Optimize i18n import (direct import instead of dynamic)
- Disable auto-retry for usage queries to avoid API stampede
Additional changes:
- Apply prettier formatting to affected files
Files changed:
- src-tauri/src/error.rs (+2)
- src-tauri/src/usage_script.rs (+8 -2)
- src/i18n/locales/{en,zh}.json (+4 -1 each)
- src/lib/api/usage.ts (+21 -4)
- src/lib/query/queries.ts (+1)
- style: prettier formatting on 6 other files
This commit is contained in:
@@ -16,4 +16,3 @@ export async function syncCurrentProvidersLiveSafe(): Promise<{
|
||||
return { ok: false, error };
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -170,7 +170,12 @@ export const getApiKeyFromConfig = (jsonString: string): string => {
|
||||
const config = JSON.parse(jsonString);
|
||||
const token = config?.env?.ANTHROPIC_AUTH_TOKEN;
|
||||
const apiKey = config?.env?.ANTHROPIC_API_KEY;
|
||||
const value = typeof token === "string" ? token : typeof apiKey === "string" ? apiKey : "";
|
||||
const value =
|
||||
typeof token === "string"
|
||||
? token
|
||||
: typeof apiKey === "string"
|
||||
? apiKey
|
||||
: "";
|
||||
return value;
|
||||
} catch (err) {
|
||||
return "";
|
||||
|
||||
Reference in New Issue
Block a user