refactor: centralize auth middleware and standardize logging
1. API Key Middleware (api.ts) - Create apiKeyAuth Hono middleware with timing-safe comparison - Apply to /deposit/balance and /deposit/deduct routes - Remove duplicate requireApiKey() calls from handlers - Reduce ~15 lines of duplicated code 2. Logger Standardization (6 files, 27 replacements) - webhook.ts: 2 console.error → logger - message-handler.ts: 7 console → logger - deposit-matcher.ts: 4 console → logger - n8n-service.ts: 3 console.error → logger - circuit-breaker.ts: 8 console → logger - retry.ts: 3 console → logger Benefits: - Single point of auth change - Structured logging with context - Better observability in production Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -75,7 +75,7 @@ JSON:`;
|
||||
};
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Intent analysis error:', error);
|
||||
logger.error('Intent analysis error', error as Error);
|
||||
}
|
||||
|
||||
// 기본값: 일반 대화
|
||||
@@ -114,7 +114,12 @@ export async function callN8n(
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
console.error('n8n error:', response.status, await response.text());
|
||||
const errorText = await response.text();
|
||||
logger.error('n8n API error', new Error(`Status ${response.status}: ${errorText}`), {
|
||||
status: response.status,
|
||||
userId,
|
||||
type
|
||||
});
|
||||
return { error: `n8n 호출 실패 (${response.status})` };
|
||||
}
|
||||
|
||||
@@ -128,7 +133,7 @@ export async function callN8n(
|
||||
|
||||
return parseResult.data;
|
||||
} catch (error) {
|
||||
console.error('n8n fetch error:', error);
|
||||
logger.error('n8n fetch error', error as Error, { userId, type });
|
||||
return { error: 'n8n 연결 실패' };
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user