Exemplo n.º 1
0
        /// <inheritdoc />
        public async Task <TResponse> Next(TRequest request, CancellationToken cancellationToken)
        {
            try
            {
                var pipelineHandler = _pipelines.GetNextPipelineHandler();

                return(await pipelineHandler.HandleAsync(request, this, cancellationToken));
            }
            catch (Exception exception)
            {
                if (IsFaulted && Exception != null)
                {
                    throw;
                }
                IsFaulted = true;
                Exception = exception;

                await _pipelines.HandleException(exception, this, cancellationToken);

                return(default);