Exemplo n.º 1
0
        private async Task <ExecutionResult <TResponse> > ExecuteTyped <TResponse>(IExecutionRequest <TResponse> request)
            where TResponse : class, IExecutionResponse
        {
            var untypedResult = await ExecuteCore(request).ConfigureAwait(false);

            return(untypedResult.Cast <TResponse>());
        }
Exemplo n.º 2
0
#pragma warning disable 1998
        public async Task <ExecutionResult> Execute(IExecutionRequest request,
#pragma warning restore 1998
                                                    IReadOnlyDictionary <string, object> items,
                                                    CancellationToken cancellationToken)
        {
            throw new System.NotImplementedException();
        }
Exemplo n.º 3
0
        public void Execute(IExecutionRequest request)
        {
            var context = new WebHookContext(
                request.Adapter,
                null,
                request.GetDataSource <HttpListenerContext>());

            _contextCallback(context);
        }
Exemplo n.º 4
0
        public void Execute(IExecutionRequest request)
        {
            var context = new WebHookContext(
                request.Adapter,
                null,
                request.GetDataSource<HttpListenerContext>());

            _contextCallback(context);
        }
 public ExecutionResponseTransformContext(string branchId,
                                          IExecutionRequest request,
                                          TContext context,
                                          IServiceProvider services,
                                          CancellationToken cancellationToken)
 {
     BranchId          = branchId;
     Request           = request ?? throw new ArgumentNullException(nameof(request));
     Context           = context ?? throw new ArgumentNullException(nameof(context));
     Services          = services ?? throw new ArgumentNullException(nameof(services));
     CancellationToken = cancellationToken;
 }
Exemplo n.º 6
0
        public void Execute(IExecutionRequest request)
        {
            var dataSource = (T)request.DataSource;
            var parameters = _filter.GetOutput(dataSource);

            var context = new SourcedContext <T>(
                request.Adapter,
                dataSource,
                parameters);

            _contextCallback(context);
        }
        public async Task <ExecutionResult> Execute(
            IExecutionRequest request,
            IReadOnlyDictionary <string, object> items,
            CancellationToken cancellationToken)
        {
            var logger = serviceProvider.ResolveRequired <ILogger>();

            var context = new ExecutionContext(serviceProvider, logger, request, items, cancellationToken);

            await pipeline.Invoke(context).ConfigureAwait(false);

            return(new ExecutionResult(context.Response, context.Errors));
        }
Exemplo n.º 8
0
        protected async Task <IActionResult> Execute(IExecutionRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            var executor = HttpContext.RequestServices.GetRequiredService <IExecutor>();
            var response = await executor.Execute(BranchId, request, HttpContext.RequestAborted);

            return(await response.TransformToOutput <Controller, IActionResult>(
                       new ExecutionResponseTransformContext <Controller>(BranchId, request, this,
                                                                          this.HttpContext.RequestServices, HttpContext.RequestAborted)));
        }
Exemplo n.º 9
0
 public ExecutionContext(
     IServiceProvider services,
     ILogger logger,
     IExecutionRequest request,
     IReadOnlyDictionary <string, object> items,
     CancellationToken cancellationToken)
 {
     Services          = services;
     Log               = logger;
     Request           = request;
     CancellationToken = cancellationToken;
     Items             = new Dictionary <string, object>(items);
     Errors            = new ExecutionErrorCollection();
 }
Exemplo n.º 10
0
        private void OnEntryExecuting(IExecutionRequest executionRequest)
        {
            _rfqUpdateSubject.OnNext(new RfqUpdate(RfqState.Executing, null, null));

            _executionSubscription.Disposable = _rfqService.Execute(executionRequest)
                                                .Timeout(TimeSpan.FromSeconds(5))
                                                .ObserveOn(_concurrencyService.Dispatcher)
                                                .SubscribeOn(_concurrencyService.TaskPool)
                                                .Subscribe(
                // /!\ we are only allowed to transition the state machine here, no other code!
                // This applies to all server callbacks
                executionReport => _stateMachine.Fire(_rfqEventServerSendsExecutionReport, executionReport),
                ex => _stateMachine.Fire(_rfqEventServerExecutionError, ex));
        }
        private async Task <ExecutionResult> ExecuteCore(IExecutionRequest request, CancellationToken cancellationToken = default)
        {
            if (request is IPagingExecutionRequest listRequest)
            {
                //listRequest.Limit = int.Parse(HttpContext.Request.Query.GetValueOrDefault("limit", "8"));
                //listRequest.Offset = int.Parse(HttpContext.Request.Query.GetValueOrDefault("offset", "0"));
            }

            var response = await ExecutionEngine.Execute(
                request,
                OnGetExecutionItems(),
                cancellationToken)
                           .ConfigureAwait(false);

            return(response);
        }
Exemplo n.º 12
0
        public async Task <IExecutionResponse> Execute(string branchId, IExecutionRequest request, CancellationToken cancellationToken)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            var context = new DefaultExecutionContext(branchId, cancellationToken, serviceProvider)
            {
                Request = request
            };

            await middlewarePipeline.Execute(context).ConfigureAwait(false);

            return(context.Response);
        }
Exemplo n.º 13
0
        private async Task <ExecutionResult> ExecuteCore(IExecutionRequest request)
        {
            var executionEngine = HttpContext.RequestServices.GetRequiredService <IExecutionEngine>();

            if (request is IPagingExecutionRequest listRequest)
            {
                listRequest.PagingParameters = PagingParameters.Create(
                    HttpContext.Request.Query.GetIntValueNullable("offset"),
                    HttpContext.Request.Query.GetIntValueNullable("limit")
                    );
            }

            var response = await executionEngine.Execute(
                request,
                OnGetExecutionItems(),
                HttpContext.RequestAborted)
                           .ConfigureAwait(false);

            return(response);
        }
Exemplo n.º 14
0
 public IObservable<IExecutionReport> Execute(IExecutionRequest executionRequest)
 {
     return ExecuteSubject;
 }
Exemplo n.º 15
0
 public void Execute(IExecutionRequest executionRequest)
 {
     _stateMachine.Fire(_rfqEventUserExecutes, executionRequest);
 }
Exemplo n.º 16
0
        public void Execute(IExecutionRequest request)
        {
            var context = new Context(request.Adapter);

            _contextCallback(context);
        }
Exemplo n.º 17
0
 public IObservable <IExecutionReport> Execute(IExecutionRequest executionRequest)
 {
     return(ExecuteSubject);
 }
Exemplo n.º 18
0
        private void OnEntryExecuting(IExecutionRequest executionRequest)
        {
            _rfqUpdateSubject.OnNext(new RfqUpdate(RfqState.Executing, null, null));

            _executionSubscription.Disposable = _rfqService.Execute(executionRequest)
                .Timeout(TimeSpan.FromSeconds(5))
                .ObserveOn(_concurrencyService.Dispatcher)
                .SubscribeOn(_concurrencyService.TaskPool)
                .Subscribe(
                // /!\ we are only allowed to transition the state machine here, no other code! 
                // This applies to all server callbacks 
                    executionReport => _stateMachine.Fire(_rfqEventServerSendsExecutionReport, executionReport),
                    ex => _stateMachine.Fire(_rfqEventServerExecutionError, ex));
        }
Exemplo n.º 19
0
 public void Execute(IExecutionRequest executionRequest)
 {
     _stateMachine.Fire(_rfqEventUserExecutes, executionRequest);
 }
Exemplo n.º 20
0
 protected SingleResponseTransformer <TResponse> Execute <TResponse>(
     IExecutionRequest <TResponse> request)
     where TResponse : class, IExecutionResponse
 {
     return(new SingleResponseTransformer <TResponse>(ExecuteTyped(request), this));
 }
Exemplo n.º 21
0
 public void Execute(IExecutionRequest request)
 {
     var context = new Context(request.Adapter);
     _contextCallback(context);
 }