@@ -143,10 +143,12 @@ public ResponderDelegate<TContext, TOutput> CompileResponders<TContext, TOutput>
143143 IEnumerable < ResponderBuilder > rootResponders = _builders . Where ( builder => builder . RequiredBy . Count == 0 ) ;
144144 if ( ! rootResponders . Any ( ) )
145145 {
146+ _logger . LogWarning ( "No responders were found, returning an empty responder." ) ;
146147 return ( context , cancellationToken ) => Result . Success < TOutput > ( ) ;
147148 }
148149
149150 // Compile the root responders
151+ _logger . LogInformation ( "Compiling {Count:N0} top-level responders." , rootResponders . Count ( ) ) ;
150152 List < ResponderDelegate < TContext , TOutput > > rootRespondersDelegates = [ ] ;
151153 foreach ( ResponderBuilder builder in rootResponders )
152154 {
@@ -160,13 +162,15 @@ public ResponderDelegate<TContext, TOutput> CompileResponders<TContext, TOutput>
160162 foreach ( ResponderDelegate < TContext , TOutput > responder in rootRespondersDelegates )
161163 {
162164 Result < TOutput > result = responder ( context , cancellationToken ) ;
163- if ( ! result . IsSuccess || result . HasValue )
165+ if ( result . HasValue )
164166 {
167+ _logger . LogTrace ( "Returning result: {Result}" , result ) ;
165168 return result ;
166169 }
167170 }
168171
169- return Result . Success < TOutput > ( ) ;
172+ _logger . LogTrace ( "None of the {Count:N0} top-level responders returned a value." , rootRespondersDelegates . Count ) ;
173+ return Result . Failure < TOutput > ( ) ;
170174 }
171175 catch ( Exception error )
172176 {
@@ -246,10 +250,12 @@ public ValueTaskResponderDelegate<TContext, TOutput> CompileAsyncResponders<TCon
246250 IEnumerable < ResponderBuilder > rootResponders = _builders . Where ( builder => builder . RequiredBy . Count == 0 ) ;
247251 if ( ! rootResponders . Any ( ) )
248252 {
253+ _logger . LogWarning ( "No responders were found, returning an empty responder." ) ;
249254 return ( context , cancellationToken ) => ValueTask . FromResult ( Result . Success < TOutput > ( ) ) ;
250255 }
251256
252257 // Compile the root responders
258+ _logger . LogInformation ( "Compiling {Count:N0} top-level responders." , rootResponders . Count ( ) ) ;
253259 List < ValueTaskResponderDelegate < TContext , TOutput > > rootRespondersDelegates = [ ] ;
254260 foreach ( ResponderBuilder builder in rootResponders )
255261 {
@@ -263,12 +269,15 @@ public ValueTaskResponderDelegate<TContext, TOutput> CompileAsyncResponders<TCon
263269 foreach ( ValueTaskResponderDelegate < TContext , TOutput > responder in rootRespondersDelegates )
264270 {
265271 Result < TOutput > result = await responder ( context , cancellationToken ) ;
266- if ( ! result . IsSuccess || result . HasValue )
272+ if ( result . HasValue )
267273 {
274+ _logger . LogTrace ( "Returning result: {Result}" , result ) ;
268275 return result ;
269276 }
277+
270278 }
271279
280+ _logger . LogTrace ( "None of the {Count:N0} top-level responders returned a value." , rootRespondersDelegates . Count ) ;
272281 return Result . Success < TOutput > ( ) ;
273282 }
274283 catch ( Exception error )
0 commit comments