@@ -32,7 +32,7 @@ public sealed class Api : IEventBus
32
32
public static Api Instance { get ; } = new Api ( ) ;
33
33
34
34
// Explicit static constructor to tell C# compiler
35
- // not to mark type as beforefieldinit
35
+ // not to mark type as beforeFieldInit
36
36
// IE Lazy way of ensuring this is thread safe without using locks
37
37
static Api ( ) { }
38
38
private Api ( ) { }
@@ -46,7 +46,7 @@ private Api() { }
46
46
public async Task SetProviderAsync ( FeatureProvider featureProvider )
47
47
{
48
48
this . _eventExecutor . RegisterDefaultFeatureProvider ( featureProvider ) ;
49
- await this . _repository . SetProviderAsync ( featureProvider , this . GetContext ( ) , AfterInitialization , AfterError ) . ConfigureAwait ( false ) ;
49
+ await this . _repository . SetProviderAsync ( featureProvider , this . GetContext ( ) , this . AfterInitialization , this . AfterError ) . ConfigureAwait ( false ) ;
50
50
}
51
51
52
52
/// <summary>
@@ -62,7 +62,7 @@ public async Task SetProviderAsync(string clientName, FeatureProvider featurePro
62
62
throw new ArgumentNullException ( nameof ( clientName ) ) ;
63
63
}
64
64
this . _eventExecutor . RegisterClientFeatureProvider ( clientName , featureProvider ) ;
65
- await this . _repository . SetProviderAsync ( clientName , featureProvider , this . GetContext ( ) , AfterInitialization , AfterError ) . ConfigureAwait ( false ) ;
65
+ await this . _repository . SetProviderAsync ( clientName , featureProvider , this . GetContext ( ) , this . AfterInitialization , this . AfterError ) . ConfigureAwait ( false ) ;
66
66
}
67
67
68
68
/// <summary>
@@ -101,15 +101,15 @@ public FeatureProvider GetProvider(string clientName)
101
101
/// </para>
102
102
/// </summary>
103
103
/// <returns><see cref="ClientMetadata"/></returns>
104
- public Metadata GetProviderMetadata ( ) => this . GetProvider ( ) . GetMetadata ( ) ;
104
+ public Metadata ? GetProviderMetadata ( ) => this . GetProvider ( ) . GetMetadata ( ) ;
105
105
106
106
/// <summary>
107
107
/// Gets providers metadata assigned to the given clientName. If the clientName has no provider
108
108
/// assigned to it the default provider will be returned
109
109
/// </summary>
110
110
/// <param name="clientName">Name of client</param>
111
111
/// <returns>Metadata assigned to provider</returns>
112
- public Metadata GetProviderMetadata ( string clientName ) => this . GetProvider ( clientName ) . GetMetadata ( ) ;
112
+ public Metadata ? GetProviderMetadata ( string clientName ) => this . GetProvider ( clientName ) . GetMetadata ( ) ;
113
113
114
114
/// <summary>
115
115
/// Create a new instance of <see cref="FeatureClient"/> using the current provider
@@ -121,7 +121,7 @@ public FeatureProvider GetProvider(string clientName)
121
121
/// <returns><see cref="FeatureClient"/></returns>
122
122
public FeatureClient GetClient ( string ? name = null , string ? version = null , ILogger ? logger = null ,
123
123
EvaluationContext ? context = null ) =>
124
- new FeatureClient ( ( ) => _repository . GetProvider ( name ) , name , version , logger , context ) ;
124
+ new FeatureClient ( ( ) => this . _repository . GetProvider ( name ) , name , version , logger , context ) ;
125
125
126
126
/// <summary>
127
127
/// Appends list of hooks to global hooks list
@@ -277,7 +277,7 @@ private async Task AfterInitialization(FeatureProvider provider)
277
277
{
278
278
Type = ProviderEventTypes . ProviderReady ,
279
279
Message = "Provider initialization complete" ,
280
- ProviderName = provider . GetMetadata ( ) . Name ,
280
+ ProviderName = provider . GetMetadata ( ) ? . Name ,
281
281
} ;
282
282
283
283
await this . _eventExecutor . EventChannel . Writer . WriteAsync ( new Event { Provider = provider , EventPayload = eventPayload } ) . ConfigureAwait ( false ) ;
@@ -286,10 +286,9 @@ private async Task AfterInitialization(FeatureProvider provider)
286
286
/// <summary>
287
287
/// Update the provider state to ERROR and emit an ERROR after failed init.
288
288
/// </summary>
289
- private async Task AfterError ( FeatureProvider provider , Exception ex )
290
-
289
+ private async Task AfterError ( FeatureProvider provider , Exception ? ex )
291
290
{
292
- provider . Status = typeof ( ProviderFatalException ) == ex . GetType ( ) ? ProviderStatus . Fatal : ProviderStatus . Error ;
291
+ provider . Status = typeof ( ProviderFatalException ) == ex ? . GetType ( ) ? ProviderStatus . Fatal : ProviderStatus . Error ;
293
292
var eventPayload = new ProviderEventPayload
294
293
{
295
294
Type = ProviderEventTypes . ProviderError ,
0 commit comments