private static T DeserializeResponseBody <T>(Stream responseStream) { using (var memoryStream = new MemoryStream()) { responseStream.CopyTo(memoryStream); memoryStream.Position = 0; var response = Encoding.UTF8.GetString(memoryStream.ToArray()); Console.WriteLine("[Response] "); var pp = new JsonPrettyPrinter(new JsonPrettyPrinterPlus.JsonPrettyPrinterInternals.JsonPPStrategyContext()); Console.WriteLine(pp.PrettyPrint(response)); if (typeof(T) == typeof(string)) { return((T)(object)response); } memoryStream.Position = 0; using (var reader = new StreamReader(memoryStream)) using (var jsonReader = new JsonTextReader(reader)) { return(JsonSerializer.Create(new JsonSerializerSettings()) .Deserialize <T>(jsonReader)); } } }
private void button_FetchResourceGroupList_Click(object sender, EventArgs e) { Cursor.Current = Cursors.WaitCursor; Application.UseWaitCursor = true; var conn = GetConnection(); if (null == conn) { Application.UseWaitCursor = false; return; } var hso = new HostedServiceOps(conn); var res = hso.GetResourceGroupList(); if (res.HadError) { Application.UseWaitCursor = false; MessageBox.Show("Exception while fetching resource group list : " + res.Body, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var pp = new JsonPrettyPrinter(new JsonPPStrategyContext()); Output_rtb.Text = pp.PrettyPrint(res.Body); Application.UseWaitCursor = false; MessageBox.Show("Successfully connected to ARM", "Success", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }
public static void Save <T>(string fileName, T obj) { var resultString = ConvertToString(obj); var resultsFile = new StreamWriter(fileName); var jPrinter = new JsonPrettyPrinter(new JsonPPStrategyContext()); var beautifiedJson = jPrinter.PrettyPrint(resultString); resultsFile.Write(beautifiedJson); resultsFile.Flush(); resultsFile.Close(); }
/// <summary> /// Writes the body to the request. /// </summary> /// <param name="request">The request object.</param> /// <param name="body">The string representation of body.</param> private static void WriteBody(WebRequest request, string body) { var pp = new JsonPrettyPrinter(new JsonPrettyPrinterPlus.JsonPrettyPrinterInternals.JsonPPStrategyContext()); Console.WriteLine("[Body] "); Console.WriteLine(pp.PrettyPrint(body)); var data = Encoding.ASCII.GetBytes(body); request.ContentLength = data.Length; using (var requestStream = request.GetRequestStream()) { requestStream.Write(data, 0, data.Length); requestStream.Close(); } }
public static string Serialize(object target, bool prettyPrint) { System.Text.StringBuilder sbSerialized = new System.Text.StringBuilder(); //JavaScriptSerializer js = new JavaScriptSerializer(); // js.Serialize(target, sbSerialized); if (prettyPrint) { System.Text.StringBuilder prettyPrintedResult = new System.Text.StringBuilder(); prettyPrintedResult.EnsureCapacity(sbSerialized.Length); JsonPrettyPrinter pp = new JsonPrettyPrinter(); pp.PrettyPrint(sbSerialized, prettyPrintedResult); return(prettyPrintedResult.ToString()); } else { return(sbSerialized.ToString()); } }
public static void GetCompletion() { string fileName = GetExampleSrcFile(); string code = System.IO.File.ReadAllText(fileName, System.Text.Encoding.UTF8); int offset = GetOffset(code, 61, 6); // int pos = str.IndexOf("flag.Parse()"); // System.Console.WriteLine(pos); // "./gocode string cmd = "-f=json --in=\"" + fileName.Replace("\"", "\\\"") + "\" autocomplete " + offset.ToString(); System.Console.WriteLine(cmd); System.Text.StringBuilder sbIn = new System.Text.StringBuilder(GetProcessOutput(cmd)); System.Text.StringBuilder sbOut = new System.Text.StringBuilder(); JsonPrettyPrinter jpp = new JsonPrettyPrinter(); jpp.PrettyPrint(sbIn, sbOut); string strIn = sbIn.ToString(); string strOut = sbOut.ToString(); System.Console.WriteLine(strIn); System.Console.WriteLine(strOut); int pos = strOut.IndexOf(','); strOut = strOut.Substring(pos + 1); pos = strOut.LastIndexOf(']'); strOut = strOut.Substring(0, pos); System.Console.WriteLine(strOut); //[0, }
/// <summary> /// Reads the response from the request and returns the received object. /// </summary> /// <typeparam name="T">The type of received object.</typeparam> /// <param name="request">The request object.</param> /// <param name="requestAttemptIndex">The index of this attempt to execute request.</param> /// <param name="isNeededReAuth"> /// Outputs a value that determines if re-authentication should be performed with a subsequent additional request attempt. /// </param> /// <returns>The object representation of received response or default of T if response is empty.</returns> private static T ReadResponse <T>(WebRequest request, int requestAttemptIndex, out bool isNeededReAuth) { isNeededReAuth = false; try { using (var responseStream = request.GetResponse().GetResponseStream()) { if (responseStream == null) { Console.WriteLine("Response wasn't received."); return(default(T)); } using (var memoryStream = new MemoryStream()) { responseStream.CopyTo(memoryStream); memoryStream.Position = 0; var response = Encoding.UTF8.GetString(memoryStream.ToArray()); Console.WriteLine("[Response] "); var pp = new JsonPrettyPrinter(new JsonPrettyPrinterPlus.JsonPrettyPrinterInternals.JsonPPStrategyContext()); Console.WriteLine(pp.PrettyPrint(response)); if (typeof(T) != typeof(string)) { memoryStream.Position = 0; using (var reader = new StreamReader(memoryStream)) using (var jsonReader = new JsonTextReader(reader)) { return(JsonSerializer.Create(_serializerSettings) .Deserialize <T>(jsonReader)); } } return((T)(object)response); } } } catch (WebException e) { var response = (HttpWebResponse)e.Response; if (response == null) { Console.WriteLine("Response not received."); return(default(T)); } Console.WriteLine($"Error {(int)response.StatusCode} {response.StatusDescription} occurs during request to {response.ResponseUri}."); // Need to authenticate again and re-send the request. var unauthorizedProbablyBecauseOfExpiredToken = response.StatusCode == HttpStatusCode.Unauthorized || response.StatusCode == HttpStatusCode.Forbidden && response.StatusDescription == "Forbidden"; var isFirstRequestAttempt = requestAttemptIndex == 0; if (unauthorizedProbablyBecauseOfExpiredToken && isFirstRequestAttempt) { isNeededReAuth = true; return(default(T)); } using (var stream = response.GetResponseStream()) { if (stream != null) { using (var memStream = new MemoryStream()) { stream.CopyTo(memStream); memStream.Position = 0; Console.WriteLine("Response body:"); Console.WriteLine(Encoding.UTF8.GetString(memStream.ToArray())); } } } Console.WriteLine("WebException:"); Console.WriteLine(e); throw; } }
private static T ReadResponse <T>(WebRequest request) { try { using (var responseStream = request.GetResponse().GetResponseStream()) { if (responseStream == null) { Console.WriteLine("Response wasn't received."); return(default(T)); } using (var memoryStream = new MemoryStream()) { responseStream.CopyTo(memoryStream); memoryStream.Position = 0; var response = Encoding.UTF8.GetString(memoryStream.ToArray()); Console.WriteLine("[Response] "); var pp = new JsonPrettyPrinter(new JsonPrettyPrinterPlus.JsonPrettyPrinterInternals.JsonPPStrategyContext()); Console.WriteLine(pp.PrettyPrint(response)); if (typeof(T) != typeof(string)) { memoryStream.Position = 0; using (var reader = new StreamReader(memoryStream)) using (var jsonReader = new JsonTextReader(reader)) { return(JsonSerializer.Create(new JsonSerializerSettings()) .Deserialize <T>(jsonReader)); } } return((T)(object)response); } } } catch (WebException e) { var response = (HttpWebResponse)e.Response; if (response == null) { Console.WriteLine("Response not received."); return(default(T)); } Console.WriteLine($"Error {(int) response.StatusCode} {response.StatusDescription} occurs during request to {response.ResponseUri}."); using (var stream = response.GetResponseStream()) { if (stream != null) { using (var memStream = new MemoryStream()) { stream.CopyTo(memStream); memStream.Position = 0; Console.WriteLine("Response body:"); Console.WriteLine(Encoding.UTF8.GetString(memStream.ToArray())); } } } Console.WriteLine("WebException:"); Console.WriteLine(e); throw; } }
private string BeautifyJson(string json) { var jpp = new JsonPrettyPrinter(new JsonPPStrategyContext()); return jpp.PrettyPrint(json); }