public async Task <IOperationResponse <TResponse> > ExecuteHandlerAsync(TRequest request) { if (request == null) { return(BadRequest(ResponseMessages.Handler.NullRequest)); } try { _validator.ValidateAndThrow(request); return(await HandleAsync(request)); } catch (Exception ex) { var handlerExceptionStrategy = _handlerExceptionStrategyFactory.Create <TRequest, TResponse>(request, _logger, ex); return(handlerExceptionStrategy.Handle()); } }
private void WhenExceptionStrategyIsCreated() { _func = (() => _factory.Create <GetDeliveryCostHandlerRequest, GetDeliveryCostHandlerResponse>(null, null, _exception)); }