Guest User

Untitled

a guest
Sep 25th, 2017
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. class BuildDeployPortal
  2. {
  3. // Consts
  4. public static readonly string API_FileQuery = @"http://{0}/api/filesystem/apps/file";
  5.  
  6. // Classes & Structs
  7. public struct ConnectInfo
  8. {
  9. public ConnectInfo(string ip, string user, string password)
  10. {
  11. IP = ip;
  12. User = user;
  13. Password = password;
  14. }
  15.  
  16. public string IP;
  17. public string User;
  18. public string Password;
  19. }
  20.  
  21. public async static void GetFile(ConnectInfo connectInfo, string knownfolderid, string filename, string packagefullname, string path)
  22. {
  23. try
  24. {
  25. // Query
  26. string query = string.Format(API_FileQuery, connectInfo.IP);
  27. query += "?knownfolderid=" + Uri.EscapeUriString(knownfolderid);
  28. query += "&filename=" + Uri.EscapeUriString(filename);
  29. query += "&packagefullname=" + Uri.EscapeUriString(packagefullname);
  30. query += "&path=" + Uri.EscapeUriString(path);
  31.  
  32. // Create http request
  33. var httpRequest = new HttpClient();
  34.  
  35. httpRequest.DefaultRequestHeaders.Clear();
  36. httpRequest.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic",
  37. EncodeTo64(connectInfo.User + ":" + connectInfo.Password));
  38.  
  39. HttpResponseMessage resp = await httpRequest.GetAsync(query);
  40.  
  41. byte[] responseMessage = await resp.Content.ReadAsByteArrayAsync();
  42.  
  43. }
  44. catch (Exception ex)
  45. {
  46. //log some problems
  47. }
  48.  
  49. }
  50.  
  51.  
  52.  
  53. public async static void UploadFile(ConnectInfo connectInfo, string knownfolderid, string packagefullname, string path, string filePath)
  54. {
  55. try
  56. {
  57. // Query
  58. string query = string.Format(API_FileQuery, connectInfo.IP);
  59. query += "?knownfolderid=" + Uri.EscapeUriString(knownfolderid);
  60. query += "&packagefullname=" + Uri.EscapeUriString(packagefullname);
  61. query += "&path=" + Uri.EscapeUriString(path);
  62.  
  63. // Create http request
  64. var httpRequest = new HttpClient();
  65.  
  66. httpRequest.DefaultRequestHeaders.Clear();
  67. httpRequest.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic",
  68. EncodeTo64(connectInfo.User + ":" + connectInfo.Password));
  69. byte[] data = File.ReadAllBytes(filePath);
  70. ByteArrayContent byteContent = new ByteArrayContent(data);
  71.  
  72. HttpResponseMessage resp = await httpRequest.PostAsync(query, byteContent);
  73.  
  74. var responseMessage = await resp.Content.ReadAsStringAsync();
  75.  
  76. }
  77. catch (Exception ex)
  78. {
  79. //log some problems
  80. }
  81.  
  82. }
  83.  
  84.  
  85. // Helpers
  86. private static string EncodeTo64(string toEncode)
  87. {
  88. byte[] toEncodeAsBytes = Encoding.ASCII.GetBytes(toEncode);
  89. string returnValue = Convert.ToBase64String(toEncodeAsBytes);
  90. return returnValue;
  91. }
  92. }
  93.  
  94. BuildDeployPortal.ConnectInfo co = new BuildDeployPortal.ConnectInfo("127.0.0.1:10080", "user", "pass");
  95.  
  96. //get file
  97. BuildDeployPortal.GetFile(co, "LocalAppData", "2017-01-25-09-04-21_TestFile.csv", "app_full_package_name", "\LocalState");
  98.  
  99. //upload file
  100. BuildDeployPortal.UploadFile(co, "LocalAppData", "app_full_package_name", "\LocalState",
  101. "C:\Users\myuser\Desktop\info.json");
Add Comment
Please, Sign In to add comment