Esempio n. 1
0
        /// <summary>
        /// Add async.
        /// </summary>
        /// <returns>The async.</returns>
        /// <param name="payload">Payload.</param>
        /// <param name="apiMethod">API method.</param>
        /// <typeparam name="T">The 1st type parameter.</typeparam>
        public async Task <T> AddAsync <T>(T payload, RestApiMethod apiMethod)
        {
            Guard.Argument(payload, nameof(payload)).Equals(null);

            JObject jObject = null;
            var     cts     = new CancellationTokenSource();

            try
            {
                var baseAddress = GetBaseAddress();
                var path        = apiRestSection.GetSection(Constant.Routing).GetValue <string>(apiMethod.ToString());

                cts.CancelAfter(60000);
                jObject = await client.PostAsync(payload, baseAddress, path, cts.Token);
            }
            catch (OperationCanceledException ex)
            {
                logger.LogWarning(ex.Message);
            }

            return(jObject == null ? (default) : jObject.ToObject <T>());
Esempio n. 2
0
        /// <summary>
        /// Add async.
        /// </summary>
        /// <returns>The async.</returns>
        /// <param name="payload">Payload.</param>
        /// <param name="apiMethod">API method.</param>
        /// <typeparam name="T">The 1st type parameter.</typeparam>
        public async Task <T> AddAsync <T>(T payload, RestApiMethod apiMethod)
        {
            Guard.Argument(payload, nameof(payload)).Equals(null);

            var baseAddress = GetBaseAddress();
            var path        = apiRestSection.GetSection(Constant.Routing).GetValue <string>(apiMethod.ToString());
            var jObject     = await client.PostAsync(payload, baseAddress, path, new CancellationToken());

            return(jObject == null ? (default) : jObject.ToObject <T>());
Esempio n. 3
0
        /// <summary>
        /// Add async.
        /// </summary>
        /// <returns>The async.</returns>
        /// <param name="payload">Payload.</param>
        /// <param name="apiMethod">API method.</param>
        /// <typeparam name="T">The 1st type parameter.</typeparam>
        public async Task <T> AddAsync <T>(T payload, RestApiMethod apiMethod)
        {
            if (payload.Equals(null))
            {
                throw new ArgumentNullException(nameof(payload));
            }

            var baseAddress = GetBaseAddress();
            var path        = apiRestSection.GetSection(Constant.Routing).GetValue <string>(apiMethod.ToString());
            var jObject     = await client.PostAsync(payload, baseAddress, path, new CancellationToken());

            onionService.ChangeCircuit("ILoveTangram".ToSecureString());

            return(jObject == null ? (default) : jObject.ToObject <T>());