- 重构config层为配置中心架构,支持动态配置管理 - 统一core层命名规范(event-bus→event, circuit-breaker→breaker, domain-sdk→sdk) - 修复数据库连接配置路径问题 - 实现配置中心完整功能:系统配置、动态配置、配置验证、统计 - 优化目录结构,为微服务架构做准备 - 修复TypeScript编译错误和依赖注入问题
14 lines
555 B
TypeScript
14 lines
555 B
TypeScript
import { Injectable, CanActivate, ExecutionContext } from '@nestjs/common';
|
|
import { CircuitBreakerService } from './circuitBreakerService';
|
|
|
|
@Injectable()
|
|
export class CircuitBreakerGuard implements CanActivate {
|
|
constructor(private readonly circuitBreakerService: CircuitBreakerService) {}
|
|
|
|
canActivate(context: ExecutionContext): boolean {
|
|
const request = context.switchToHttp().getRequest();
|
|
const serviceName = `${request.method}:${request.route?.path || 'unknown'}`;
|
|
|
|
return this.circuitBreakerService.isOpen(serviceName);
|
|
}
|
|
}
|