diff --git a/src/Pacserver.Tests/TransferFilesTest.cs b/src/Pacserver.Tests/TransferFilesTest.cs new file mode 100644 index 0000000..52905f8 --- /dev/null +++ b/src/Pacserver.Tests/TransferFilesTest.cs @@ -0,0 +1,13 @@ +using Pacserver.Utils; + +namespace Pacserver.Tests; + +public class TranserFilesTest { + [Fact] + public void TransferPacmanCacheTest() { + string result = PacserverUtils.determinePacmanCacheDirectory(); + PacserverUtils.TransferPacmanCache(); + + //Assert.NotEmpty(Directory.GetFiles("/home/rene/test/")); + } +} diff --git a/src/Pacserver/Pacserver.cs b/src/Pacserver/Pacserver.cs index 68d1d1d..172f707 100644 --- a/src/Pacserver/Pacserver.cs +++ b/src/Pacserver/Pacserver.cs @@ -1,3 +1,4 @@ +using System.Net.Http.Headers; using System.Text.RegularExpressions; namespace Pacserver.Utils; @@ -50,8 +51,18 @@ public class PacserverUtils { } - public static void transferPacmanCache() { + private static List NewerPackagesAndDatabases = new List(); + public static async void TransferPacmanCache() { + HttpClient client = new HttpClient(); + HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "http://192.168.0.69:12000/upload?path=/"); + MultipartFormDataContent content = new MultipartFormDataContent(); + foreach (String PkgOrDb in NewerPackagesAndDatabases) { + content.Add(new ByteArrayContent(File.ReadAllBytes(pacmanCacheDirectory + PkgOrDb)), "path", Path.GetFileName(pacmanCacheDirectory + PkgOrDb)); + } + request.Content = content; + + await client.SendAsync(request); } public static void transferPacmanDatabases() {