Project files for the Acumatica Import for United Rentals
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

60 строки
2.2 KiB

  1. using RestSharp;
  2. using System;
  3. using System.IO;
  4. using uri_import.FClasses;
  5. namespace uri_import.AClasses
  6. {
  7. public static class RequestLogger
  8. {
  9. private static string RequestsLogPath = Path.Combine(FileActions.ExecFile, "RequestsLog.txt");
  10. /// <summary>
  11. /// Logs response to RequestsLog.txt file.
  12. /// </summary>
  13. public static void LogResponse(RestRequest request, RestResponse response, RestClient restClient)
  14. {
  15. StreamWriter writer = new StreamWriter(RequestsLogPath, true);
  16. writer.WriteLine(DateTime.Now.ToString());
  17. writer.WriteLine("Response");
  18. writer.WriteLine("\tStatus code: " + response.StatusCode);
  19. writer.WriteLine("\tContent: " + response.Content);
  20. writer.WriteLine("-----------------------------------------");
  21. writer.WriteLine();
  22. writer.Flush();
  23. writer.Close();
  24. }
  25. /// <summary>
  26. /// Logs request to RequestsLog.txt file.
  27. /// </summary>
  28. public static void LogRequest(RestRequest request, RestClient restClient)
  29. {
  30. StreamWriter writer = new StreamWriter(RequestsLogPath, true);
  31. writer.WriteLine(DateTime.Now.ToString());
  32. writer.WriteLine("Request");
  33. writer.WriteLine("\tMethod: " + request.Method);
  34. string parameters = "";
  35. string body = "";
  36. foreach (var parameter in request.Parameters)
  37. {
  38. if (parameter.Type == ParameterType.QueryString)
  39. {
  40. parameters += String.IsNullOrEmpty(parameters) ? "?" : "&";
  41. parameters += parameter.Name + "=" + parameter.Value;
  42. }
  43. if (parameter.Type == ParameterType.RequestBody)
  44. body += parameter.Value;
  45. }
  46. writer.WriteLine("\tURL: " + restClient.BuildUri(request) + parameters);
  47. if (!String.IsNullOrEmpty(body))
  48. writer.WriteLine("\tBody: " + body);
  49. writer.WriteLine("-----------------------------------------");
  50. writer.WriteLine();
  51. writer.Flush();
  52. writer.Close();
  53. }
  54. }
  55. }