Some checks failed
		
		
	
	Build Test Deploy / authority-container (push) Has been cancelled
				
			Build Test Deploy / docs (push) Has been cancelled
				
			Build Test Deploy / deploy (push) Has been cancelled
				
			Build Test Deploy / build-test (push) Has been cancelled
				
			Docs CI / lint-and-preview (push) Has been cancelled
				
			
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| 
 | |
| namespace StellaOps.Feedser.Source.CertFr.Configuration;
 | |
| 
 | |
| public sealed class CertFrOptions
 | |
| {
 | |
|     public const string HttpClientName = "cert-fr";
 | |
| 
 | |
|     public Uri FeedUri { get; set; } = new("https://www.cert.ssi.gouv.fr/feed/alertes/");
 | |
| 
 | |
|     public TimeSpan InitialBackfill { get; set; } = TimeSpan.FromDays(30);
 | |
| 
 | |
|     public TimeSpan WindowOverlap { get; set; } = TimeSpan.FromDays(2);
 | |
| 
 | |
|     public int MaxItemsPerFetch { get; set; } = 100;
 | |
| 
 | |
|     public TimeSpan RequestDelay { get; set; } = TimeSpan.Zero;
 | |
| 
 | |
|     public void Validate()
 | |
|     {
 | |
|         if (FeedUri is null || !FeedUri.IsAbsoluteUri)
 | |
|         {
 | |
|             throw new InvalidOperationException("Cert-FR FeedUri must be an absolute URI.");
 | |
|         }
 | |
| 
 | |
|         if (InitialBackfill <= TimeSpan.Zero)
 | |
|         {
 | |
|             throw new InvalidOperationException("InitialBackfill must be a positive duration.");
 | |
|         }
 | |
| 
 | |
|         if (WindowOverlap < TimeSpan.Zero)
 | |
|         {
 | |
|             throw new InvalidOperationException("WindowOverlap cannot be negative.");
 | |
|         }
 | |
| 
 | |
|         if (MaxItemsPerFetch <= 0)
 | |
|         {
 | |
|             throw new InvalidOperationException("MaxItemsPerFetch must be positive.");
 | |
|         }
 | |
| 
 | |
|         if (RequestDelay < TimeSpan.Zero)
 | |
|         {
 | |
|             throw new InvalidOperationException("RequestDelay cannot be negative.");
 | |
|         }
 | |
|     }
 | |
| }
 |