|
4 | 4 |
|
5 | 5 | public record EndpointSettings
|
6 | 6 | {
|
7 |
| - internal TaskScheduler? Scheduler { get; set; } |
| 7 | + public TaskScheduler? Scheduler { get; set; } |
8 | 8 | public BeforeCallHandler? BeforeCall { get; set; }
|
| 9 | + public Type ContractType => Service.Type; |
| 10 | + public object? ServiceInstance => Service.MaybeGetInstance(); |
| 11 | + public IServiceProvider? ServiceProvider => Service.MaybeGetServiceProvider(); |
9 | 12 | internal ServiceFactory Service { get; }
|
10 | 13 |
|
11 |
| - internal string Name => Service.Type.Name; |
12 |
| - |
13 | 14 | public EndpointSettings(Type contractType, object? serviceInstance) : this(
|
14 | 15 | serviceInstance is not null
|
15 | 16 | ? new ServiceFactory.Instance()
|
@@ -42,20 +43,20 @@ public void Validate()
|
42 | 43 | }
|
43 | 44 | }
|
44 | 45 |
|
45 |
| - protected internal virtual EndpointSettings WithServiceProvider(IServiceProvider serviceProvider) |
| 46 | + public virtual EndpointSettings WithServiceProvider(IServiceProvider serviceProvider) |
46 | 47 | => new EndpointSettings(Service.Type, serviceProvider)
|
47 | 48 | {
|
48 | 49 | BeforeCall = BeforeCall,
|
49 | 50 | Scheduler = Scheduler
|
50 | 51 | };
|
51 | 52 | }
|
52 | 53 |
|
53 |
| -public record EndpointSettings<TContract> : EndpointSettings where TContract : class |
| 54 | +public sealed record EndpointSettings<TContract> : EndpointSettings where TContract : class |
54 | 55 | {
|
55 | 56 | public EndpointSettings(TContract? serviceInstance = null) : base(typeof(TContract), serviceInstance) { }
|
56 | 57 | public EndpointSettings(IServiceProvider serviceProvider) : base(typeof(TContract), serviceProvider) { }
|
57 | 58 |
|
58 |
| - protected internal override EndpointSettings WithServiceProvider(IServiceProvider serviceProvider) |
| 59 | + public override EndpointSettings WithServiceProvider(IServiceProvider serviceProvider) |
59 | 60 | => new EndpointSettings<TContract>(serviceProvider)
|
60 | 61 | {
|
61 | 62 | BeforeCall = BeforeCall,
|
|
0 commit comments