forked from jsnbuchanan/crowd-funder-for-time-pwa
- Add logger import across multiple view components - Replace console.error/warn/log with logger methods - Update error handling to use structured logging - Improve type safety for error objects - Add crypto-browserify polyfill for browser environment The changes improve logging by: 1. Using consistent logging interface 2. Adding structured error logging 3. Improving error type safety 4. Centralizing logging configuration 5. Fixing browser compatibility issues Affected files: - Multiple view components - vite.config.ts - Build configuration
25 lines
673 B
TypeScript
25 lines
673 B
TypeScript
import { AxiosError } from "axios";
|
|
import { logger } from "../utils/logger";
|
|
export const handleApiError = (error: AxiosError, endpoint: string) => {
|
|
if (process.env.VITE_PLATFORM === "capacitor") {
|
|
logger.error(`[Capacitor API Error] ${endpoint}:`, {
|
|
message: error.message,
|
|
status: error.response?.status,
|
|
data: error.response?.data,
|
|
config: {
|
|
url: error.config?.url,
|
|
method: error.config?.method,
|
|
headers: error.config?.headers,
|
|
},
|
|
});
|
|
}
|
|
|
|
// Specific handling for rate limits
|
|
if (error.response?.status === 400) {
|
|
logger.warn(`[Rate Limit] ${endpoint}`);
|
|
return null;
|
|
}
|
|
|
|
throw error;
|
|
};
|