/// <summary> /// Build HTML from a RestResponse /// </summary> /// <param name="response"></param> /// <returns></returns> public static string BuildHtml(RestResponse response) { string[] blocks = (response == null ? null : new string[] { "<b>Status Code:</b>" + response.StatusCode, "<b>Body:</b>\n" + response.PrettyBody }); string htmlHead = @" <head> <meta name=""viewport"" content=""width=device-width, initial-scale=1.0, maximum-scale=1.0; user-scalable=no"" /> <style> body { background-color: black; color: white; } pre {border: 1px solid white; padding: 5px; word-wrap: break-word;} </style> </head> "; StringBuilder sb = new StringBuilder(htmlHead); sb.Append("<body>"); if (blocks != null) { foreach (string block in blocks) { sb.Append("<pre>").Append(block).Append("</pre>"); } } sb.Append("</body>"); return sb.ToString(); }
/// <summary> /// Helper method to show a RestResponse (formatted) in the result webbrowser control /// </summary> /// <param name="response"></param> private void ShowResponse(RestResponse response) { wbResult.NavigateToString(RestActionViewHelper.BuildHtml(response)); }
private void CheckResponse(RestResponse response, HttpStatusCode expectedStatusCode, bool isJArray) { Assert.AreEqual(expectedStatusCode, response.StatusCode); try { if (isJArray) { Assert.IsNotNull(response.AsJArray); } else { Assert.IsNotNull(response.AsJObject); } } catch { Assert.Fail("Failed to parse response body"); } }
private JArray ParseSoapResponse(RestResponse response) { var records = new JArray(); XDocument doc = XDocument.Parse(response.AsString); XElement qLocator = doc.Descendants().FirstOrDefault(n => QueryLocator.Equals(n.Name.LocalName)); _queryLocator = (qLocator != null ? qLocator.Value : null); XElement xmlRecords = doc.Descendants().FirstOrDefault(n => Records.Equals(n.Name.LocalName)); if (xmlRecords != null) { var jRecord = new JObject(); foreach (XNode next in xmlRecords.DescendantNodes()) { var record = next as XElement; if (record != null) { if (Type.Equals(record.Name.LocalName)) { var attrType = new JObject {{Type, record.Value}}; jRecord[Constants.Attributes] = attrType; } else { jRecord[record.Name.LocalName] = record.Value; } } } records.Add(jRecord); } return records; }