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); }
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); }
public CommandArgsMapper() { _commandArgsModel = new CommandArgsModel(); }