Esempio n. 1
0
        private void AddHeaders(HttpRequestEnum httpRequest, HttpRequestHeaders headers, ref string url, params string[] args)
        {
            switch (httpRequest)
            {
            case HttpRequestEnum.AllReportCodes:
                break;

            case HttpRequestEnum.ReportCodesByDateRange:
                url += $"/{args[0]}/{args[1]}";
                headers.Add("from", args[0]);
                headers.Add("to", args[1]);
                break;

            case HttpRequestEnum.LatestReportCode:
                break;

            case HttpRequestEnum.ReportCodesByLocation:
                url += $"/{args[0]}";
                headers.Add("officeLocation", args[0]);
                break;

            case HttpRequestEnum.ReportCodesCountByDateRange:
                url += $"/{args[0]}/{args[1]}";
                headers.Add("from", args[0]);
                headers.Add("to", args[1]);
                break;

            case HttpRequestEnum.AllOfficeLocations:
                break;

            default:
                break;
            }
        }
Esempio n. 2
0
        private async Task <string> SendRequest(HttpRequestEnum httpRequest, HttpMethod httpMethod, object content, CancellationToken token, params string[] args)
        {
            int timeout = 30;

            try
            {
                using (HttpClient client = new HttpClient())
                {
                    var url = _connectionUrl + GetUrl(httpRequest);

                    client.Timeout = TimeSpan.FromSeconds(timeout);

                    AddHeaders(httpRequest, client.DefaultRequestHeaders, ref url, args);

                    HttpResponseMessage response = null;
                    if (httpMethod == HttpMethod.Post)
                    {
                        var json          = JsonConvert.SerializeObject(content);
                        var stringContent = new StringContent(json, Encoding.UTF8, "application/json");
                        response = await client.PostAsync(url, stringContent, token);
                    }
                    else
                    {
                        response = await client.GetAsync(url, token);
                    }

                    if (response.IsSuccessStatusCode)
                    {
                        var result = await response.Content.ReadAsStringAsync();

                        return(result);
                    }

                    throw new Exception(response.ReasonPhrase);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 3
0
        private string GetUrl(HttpRequestEnum httpRequest)
        {
            string url = "";

            switch (httpRequest)
            {
            case HttpRequestEnum.AllReportCodes:
                url = _allReportCodes;
                break;

            case HttpRequestEnum.CreateNewReportCode:
                url = _createNewReportCodes;
                break;

            case HttpRequestEnum.ReportCodesByDateRange:
                url = _reportCodesByDateRange;
                break;

            case HttpRequestEnum.LatestReportCode:
                url = _latestReportCode;
                break;

            case HttpRequestEnum.ReportCodesByLocation:
                url = _reportCodesByLocation;
                break;

            case HttpRequestEnum.ReportCodesCountByDateRange:
                url = _reportCodesCountByDateRange;
                break;

            case HttpRequestEnum.AllOfficeLocations:
                url = _allOfficeLocations;
                break;

            default:
                throw new ArgumentException("invalid enum value", nameof(httpRequest));
            }

            return(url);
        }