• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ThreeMammals / Ocelot / 26761608736

01 Jun 2026 02:34PM UTC coverage: 0.0% (-95.4%) from 95.403%
26761608736

Pull #2394

github

web-flow
Merge e39fc0db2 into e4022a7d8
Pull Request #2394: Harden `FileConfigurationPoller` against timer reentrancy and callback thread leaks, and stabilize `TimeoutDelegatingHandler` timeout test

0 of 7112 relevant lines covered (0.0%)

0.0 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
src/Ocelot/Configuration/Repository/FileAndInternalConfigurationSetter.cs
1
using Microsoft.Extensions.DependencyInjection;
2
using Ocelot.Configuration.Creator;
3
using Ocelot.Configuration.File;
4
using Ocelot.DependencyInjection;
5

6
namespace Ocelot.Configuration.Repository;
7

8
/// <summary>
9
/// Features: <see cref="Features.AddOcelotConfigurationRepository(IServiceCollection)"/> and <see cref="IOcelotBuilder.AddConfigurationPoller()"/>.
10
/// </summary>
11
/// <remarks>
12
/// Feature Commit: <see href="https://github.com/ThreeMammals/Ocelot/commit/aa0d8fe59a6e41226f6ed4d9b827fa5f9b3dc6fe">aa0d8fe</see>.<br/>
13
/// Feature PR: <see href="https://github.com/ThreeMammals/Ocelot/pull/157/">157</see>.
14
/// </remarks>
15
public class FileAndInternalConfigurationSetter : IFileConfigurationSetter
16
{
17
    private readonly IInternalConfigurationRepository _internalConfigRepo;
18
    private readonly IInternalConfigurationCreator _configCreator;
19
    private readonly IFileConfigurationRepository _repo;
20

21
    public FileAndInternalConfigurationSetter(
×
22
        IInternalConfigurationRepository configRepo,
×
23
        IInternalConfigurationCreator configCreator,
×
24
        IFileConfigurationRepository repo)
×
25
    {
×
26
        _internalConfigRepo = configRepo;
×
27
        _configCreator = configCreator;
×
28
        _repo = repo;
×
29
    }
×
30

31
    public async Task SetAsync(FileConfiguration configuration, CancellationToken cancellationToken = default)
32
    {
×
33
        await _repo.SetAsync(configuration, cancellationToken);
×
34

35
        var config = await _configCreator.Create(configuration);
×
36
        if (config.IsError)
×
37
            throw new ConfigurationRepositoryException(config.Errors);
×
38

39
        _internalConfigRepo.AddOrReplace(config.Data);
×
40
    }
×
41
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc