Пример #1
0
        //

        internal override Task <HttpResponseMessage> ExecuteStepRequestAsync(HttpStep previous, CancellationToken cancellationToken)
        {
            var itemControl = previous.Resource.GetItem(this.Index).GetControl(ItemRelation);

            if (itemControl.SupportsRequestBody())
            {
                throw new UnexpectedInputsException(
                          $"Unable to invoke the HTTP request to get the item. The item's '{ItemRelation}' hypertext control" +
                          $" is a mutating method.");
            }
            else
            {
                var firstRequiredInput = itemControl.Inputs?.FirstOrDefault(i => !i.IsOptional);
                if (firstRequiredInput == null)
                {
                    return(this.StepContext.HttpClient.GetAsync(itemControl.HRef, cancellationToken));
                }
                else
                {
                    throw new UnexpectedInputsException(
                              $"Unable to invoke the HTTP request to get the item. The item's '{ItemRelation}' hypertext control" +
                              $" requires a value for '{firstRequiredInput.Name}'.");
                }
            }
        }
Пример #2
0
        //

        internal override async Task <HttpResponseMessage> ExecuteStepRequestAsync(HttpStep previous, CancellationToken cancellationToken)
        {
            var m = await this.StepContext.ResourceFormatter.ReadAsModelAsync <TModel>(previous.Response);

            models[0] = m;

            return(previous.Response);
        }
Пример #3
0
        //

        internal override Task <HttpResponseMessage> ExecuteStepRequestAsync(HttpStep previous, CancellationToken cancellationToken)
        {
            var senderControl = previous.Resource.GetControl(this.Rel);

            var httpRequest = this.StepContext.ResourceFormatter.BuildRequest(new SendDictionary(this.SendModel), senderControl);

            return(this.StepContext.HttpClient.SendAsync(httpRequest, cancellationToken));
        }
Пример #4
0
 internal override async Task <HttpResponseMessage> ExecuteStepRequestAsync(HttpStep previous, CancellationToken cancellationToken)
 {
     return(await this.StepContext.HttpClient.GetAsync(this.Uri, cancellationToken));
 }
Пример #5
0
 internal abstract Task <HttpResponseMessage> ExecuteStepRequestAsync(HttpStep previous, CancellationToken cancellationToken);
Пример #6
0
        //

        internal override async Task <HttpResponseMessage> ExecuteStepRequestAsync(HttpStep previous, CancellationToken cancellationToken)
        {
            IHypertextControl control = previous.Resource.GetControl(this.Rel);

            return(await this.StepContext.HttpClient.GetAsync(control.HRef, cancellationToken));
        }