示例#1
0
 internal static Response ToResponse(
     IObjectResponse objectResponse,
     Request request,
     MediaTypeMapper mediaTypeMapper,
     IErrorHandler errorHandler,
     ILogger logger)
 => Success.Of <Exception, Response>(objectResponse.ResponseFrom(request, mediaTypeMapper))
 .Resolve(
     ex => ResourceErrorProcessor.ResourceHandlerError(errorHandler, logger, ex),
     response => response);
示例#2
0
 internal static ICompletes <Response> ExecuteRequest(
     Func <ICompletes <Response>?> executeAction,
     IErrorHandler errorHandler,
     ILogger logger)
 {
     try
     {
         return(executeAction.Invoke()?
                .RecoverFrom(ex => ResourceErrorProcessor.ResourceHandlerError(errorHandler, logger, ex)) !);
     }
     catch (Exception ex)
     {
         return(Completes.WithFailure(ResourceErrorProcessor.ResourceHandlerError(errorHandler, logger, ex)));
     }
 }
示例#3
0
 internal static ICompletes <Response> ExecuteRequest(
     Request request,
     MediaTypeMapper mediaTypeMapper,
     Func <ICompletes <IObjectResponse> > executeAction,
     IErrorHandler errorHandler,
     ILogger logger)
 {
     try
     {
         return(executeAction.Invoke()
                .AndThen(objectResponse => ToResponse(objectResponse, request, mediaTypeMapper, errorHandler, logger)));
     }
     catch (Exception ex)
     {
         return(Completes.WithFailure(ResourceErrorProcessor.ResourceHandlerError(errorHandler, logger, ex)));
     }
 }