Esempio n. 1
0
        public override async Task GetNumbers(NumbersRequest request, IServerStreamWriter <NumberResult> responseStream, ServerCallContext context)
        {
            for (var i = 1; i <= request.Max; i++)
            {
                await Task.Delay(100);

                if (!context.CancellationToken.IsCancellationRequested)
                {
                    await responseStream.WriteAsync(GetNumber(i));
                }
            }
        }
Esempio n. 2
0
        public async IAsyncEnumerable <NumberModel> GetAll(int max = 1000)
        {
            using var numberschannel = GrpcChannel.ForAddress(_channelUrl);
            var numbersClient = new Number.NumberClient(numberschannel);

            var request = new NumbersRequest {
                Max = max
            };

            using var numberStream = numbersClient.GetNumbers(request);
            await foreach (var number in numberStream.ResponseStream.ReadAllAsync())
            {
                yield return(new NumberModel
                {
                    Id = number.Id,
                    Binary = number.Binary,
                    Word = number.Word
                });
            }
        }
Esempio n. 3
0
        public ActionResult <List <int> > Post([FromBody] NumbersRequest numbersRequest)
        {
            try
            {
                List <int> result = _numbersService.ExtractNumbers(numbersRequest.numbers);

                if (numbersRequest.isSort)
                {
                    result = _numbersService.SortNumbers(result);
                }

                if (numbersRequest.isFilter)
                {
                    result = _numbersService.FilterNumbers(result);
                }

                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Esempio n. 4
0
 /// <summary>
 /// Retrieve all the phone numbers associated with your account that match the provided filter
 /// </summary>
 /// <param name="request">Filter for account numbers list</param>
 /// <param name="credentials">(Optional) Overridden credentials for only this request</param>
 /// <returns></returns>
 public static NumbersResponse GetNumbers(NumbersRequest request, Credentials credentials = null)
 {
     return(ApiRequest.DoGetRequestWithQueryParameters <NumbersResponse>(ApiRequest.GetBaseUriFor(typeof(Account), "/account/numbers"), ApiRequest.AuthType.Query, request, credentials));
 }
Esempio n. 5
0
        /// <summary>
        /// Retrieve all the phone numbers associated with your account that match the provided filter
        /// </summary>
        /// <param name="request">Filter for account numbers list</param>
        /// <param name="credentials">(Optional) Overridden credentials for only this request</param>
        /// <returns></returns>
        public static NumbersResponse GetNumbers(NumbersRequest request, Credentials credentials = null)
        {
            var json = ApiRequest.DoRequest(ApiRequest.GetBaseUriFor(typeof(Account), "/account/numbers"), request, credentials);

            return(JsonConvert.DeserializeObject <NumbersResponse>(json));
        }