Esempio n. 1
0
        private static Uri GetUrl(CommandArgsModel model, string relPath)
        {
            var uriBuilder = new UriBuilder($"https://ws.level3.com/{relPath}");
            var parameters = HttpUtility.ParseQueryString(string.Empty);

            if (!string.IsNullOrEmpty(model.Email))
            {
                parameters["notification"] = model.Email;
            }

            parameters["force"]      = "true";
            parameters["ignoreCase"] = "true";
            uriBuilder.Query         = parameters.ToString();
            var url = uriBuilder.Uri;

            return(url);
        }
Esempio n. 2
0
        public async Task <string> InvalidateService(CommandArgsModel model)
        {
            //TODO add your group id (from api key section) and service group
            var relPath = $"invalidations/v1.0/enter group id/enter service group/{model.NetworkId}";

            var url = GetUrl(model, relPath);

            string responseContent;

            using (var client = _httpClientFactory.CreateClient("clink"))
            {
                using (var request = new HttpRequestMessage(HttpMethod.Post, url))
                {
                    using (var content = CreateHttpContent(model.Paths))
                    {
                        var headers = GetClinkMessageHeaders(relPath);
                        request.Content = content;
                        request.Headers.Add("Authorization", $"MPA {KeyId}:{headers.Item1}");
                        request.Headers.Add("Host", "ws.level3.com");
                        request.Headers.Add("Date", headers.Item2);

                        using (var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).ConfigureAwait(false))
                        {
                            responseContent = await response.Content.ReadAsStringAsync();

                            if (response.IsSuccessStatusCode)
                            {
                                return("Success");
                            }
                        }
                    }
                }
            }

            return(responseContent);
        }
Esempio n. 3
0
 public CommandArgsMapper()
 {
     _commandArgsModel = new CommandArgsModel();
 }