Beispiel #1
0
        public ProductsDetailsResponse ProductRestSharp(ProductsDetailsRequest prodRequest)
        {
            var client = new RestClient("https://www.kroger.com/");

            client.UserAgent = "_/_";
            client.AutomaticDecompression = false;
            var request = new RestRequest(PRODUCTS_DETAILS_ENDPOINT, Method.POST);

            request.AddHeader("Accept-Encoding", null);
            request.AddHeader("User-Agent", "_/_");
            request.AddCookie("X", "5");
            request.AddHeader("Accept", "*/*");
            request.JsonSerializer = new NewtonsoftJsonSerializer();
            request.AddJsonBody(prodRequest);


            IRestResponse <ProductsDetailsResponse> response = client.Execute <ProductsDetailsResponse>(request);
            var f = response.Data;

            response = client.Execute <ProductsDetailsResponse>(request);
            return(response.Data);

            //_client.DefaultRequestHeaders.Accept.Add(MediaTypeWithQualityHeaderValue.Parse("*/*"));
            //_client.DefaultRequestHeaders.Add("Cookie", "");
            //_client.DefaultRequestHeaders.Add("User-Agent", "_/_");
        }
Beispiel #2
0
        /// <summary>
        /// Get detailed information for specified products
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ProductsDetailsResponse> ProductsDetailsAsync(ProductsDetailsRequest request)
        {
            ProductsDetailsResponse productDetailsResponse = null;
            string payload = JsonConvert.SerializeObject(request);
            int    tries   = 3;
            bool   failed  = false;

            do
            {
                tries--;
                failed = false;
                try
                {
                    IRestRequest restRequest = new RestRequest(PRODUCTS_DETAILS_ENDPOINT, Method.POST);
                    restRequest.JsonSerializer = new NewtonsoftJsonSerializer();
                    restRequest.AddJsonBody(request);
                    restRequest.AddCookie("_", "_"); //a cookie is required by the request contract,
                                                     //restsharp requires that this not be an empty string in order for the header be set
                    if (request.StoreId != null && request.DivisionId != null)
                    {
                        restRequest.AddHeader("store-id", request.StoreId);
                        restRequest.AddHeader("division-id", request.DivisionId);
                    }


                    IRestResponse <ProductsDetailsResponse> restResponse = await _client.ExecutePostTaskAsync <ProductsDetailsResponse>(restRequest);

                    productDetailsResponse = restResponse.Data;
                }
                catch (JsonReaderException)
                {
                    failed = true;
                }
            } while (tries > 0 && failed);
            return(productDetailsResponse);
        }
Beispiel #3
0
 /// <summary>
 /// Get detailed information for specified products
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public ProductsDetailsResponse ProductsDetails(ProductsDetailsRequest request)
 {
     return(ProductsDetailsAsync(request).Result);
 }