public InterceptorCreatorFactory(IInterceptorConfiguration configuration, IEnumerable <IInterceptorConfigurationHandler> handlers, IServiceProvider serviceProvider) { this.configuration = configuration; this.handlers = handlers; this.serviceProvider = serviceProvider; }
private IEnumerable <IInterceptBox> CreateBoxs(IInterceptorConfiguration configuration) { foreach (var group in configuration.Interceptors.Distinct().GroupBy(i => i.InterceptorType)) { yield return(CreateBox(group, configuration.GlobalWhitelists, configuration.GlobalBlacklists)); } }
public void Handle(IInterceptorConfiguration configuration) { var attributes = AppDomain.CurrentDomain.GetAssemblies() .Union(assemblies) .SkipNull() .Distinct() .SelectMany(i => { try { return(i.ExportedTypes); } catch { return(new Type[0]); } }) .Where(i => typeof(InterceptorBaseAttribute).IsAssignableFrom(i) && i != typeof(InterceptorBaseAttribute)) .Distinct(); foreach (var att in attributes) { configuration.Interceptors.AddType(att); } }