Пример #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="T:CSF.Screenplay.JsonApis.Actions.GetApiResult`1"/> class.
        /// </summary>
        /// <param name="service">An object which describes the API to be executed.</param>
        public GetApiResult(IProvidesInvocationDetails service)
        {
            if (service == null)
            {
                throw new ArgumentNullException(nameof(service));
            }

            this.service = service;
        }
Пример #2
0
 /// <summary>
 /// Executes a web API using the specified invocation details and returns the result.
 /// </summary>
 /// <returns>The API result.</returns>
 /// <param name="invocationDetails">Invocation details which describe how the API should be called.</param>
 /// <typeparam name="T">The expected type of the result object.</typeparam>
 public virtual T GetResult <T>(IProvidesInvocationDetails invocationDetails)
 => jsonAdapter.GetResponse <T>(invocationDetails.GetRequestMessage(), GetTimeout(invocationDetails));
Пример #3
0
 TimeSpan GetTimeout(IProvidesInvocationDetails invocationDetails)
 => invocationDetails.GetTimeout().GetValueOrDefault(defaultTimeout);
Пример #4
0
 /// <summary>
 /// Executes a web API using the specified invocation details.
 /// </summary>
 /// <param name="invocationDetails">Invocation details which describe how the API should be called.</param>
 public virtual void Execute(IProvidesInvocationDetails invocationDetails)
 => jsonAdapter.GetResponse(invocationDetails.GetRequestMessage(), GetTimeout(invocationDetails));