static void GetConfiguration(string subscriptionId, string serviceName) { var authHeader = GetAuthorizationHeader(subscriptionId); var uri = new Uri(string.Format("https://management.core.windows.net/{0}/services/hostedservices/{1}/deploymentslots/Production", subscriptionId, serviceName)); using (var response = RDFEClient.HttpInvoke(uri, authHeader, "get").Result) { if (!response.IsSuccessStatusCode) { return; } var deploymentElem = XDocument.Parse(response.Content.ReadAsStringAsync().Result).Root; var deploymentNs = deploymentElem.Name.Namespace; var mgr = new XmlNamespaceManager(new NameTable()); mgr.AddNamespace("x", deploymentNs.NamespaceName); var configurationElem = deploymentElem.XPathSelectElement("/x:Deployment/x:Configuration", mgr); var serviceConfigurationElem = XDocument.Parse(Encoding.UTF8.GetString(Convert.FromBase64String(configurationElem.Value))).Root; Console.WriteLine(); Console.WriteLine("---------- ServiceConfiguration.cscfg -----------------------"); Console.WriteLine(); RDFEClient.PrintColoredXml(serviceConfigurationElem.ToString()); } }
private async Task DumpContent(HttpContent content) { if (content == null || content.Headers.ContentType == null) { return; } var result = await content.ReadAsStringAsync(); if (content.Headers.ContentType.MediaType.Contains(RDFEClient.JsonContentType)) { try { if (result.StartsWith("[")) { RDFEClient.PrintColoredJson(JArray.Parse(result)); return; } else if (result.StartsWith("{")) { RDFEClient.PrintColoredJson(JObject.Parse(result)); return; } } catch (Exception) { // best effort } } else if (content.Headers.ContentType.MediaType.Contains(RDFEClient.XmlContentType) || content.Headers.ContentType.MediaType.Contains("application/xml")) { try { RDFEClient.PrintColoredXml(XDocument.Parse(result).ToString()); return; } catch (Exception) { // best effort } } Console.Write(result); }