Project files for the Acumatica Import for United Rentals
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

60 linhas
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. }