From 51d820e22a4517dbb06d38a4f07f7c48522ef811 Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Mon, 5 Jun 2023 03:25:53 +0200 Subject: Initial commit --- LibGitTest/WebRepoSource.cs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 LibGitTest/WebRepoSource.cs (limited to 'LibGitTest/WebRepoSource.cs') diff --git a/LibGitTest/WebRepoSource.cs b/LibGitTest/WebRepoSource.cs new file mode 100644 index 0000000..39d9b79 --- /dev/null +++ b/LibGitTest/WebRepoSource.cs @@ -0,0 +1,28 @@ +using LibGit.Interfaces; + +namespace LibGitTest; + +public class WebRepoSource : IRepoSource +{ + private const bool _debug = false; + public WebRepoSource(string basePath) + { + BasePath = basePath; + } + + public string BasePath { get; set; } + + public async Task GetFileStream(string path) + { + var client = new HttpClient(); + if(_debug)Console.WriteLine("Fetching file: " + Path.Join(BasePath, path)); + var response = await client.GetAsync(Path.Join(BasePath, path)); + if(!response.IsSuccessStatusCode) throw new Exception("Failed to fetch file: " + Path.Join(BasePath, path)); + return await response.Content.ReadAsStreamAsync(); + } + + public async Task HasObjectCached(string currentCommitId) + { + return Random.Shared.Next(0, 2) == 1; + } +} \ No newline at end of file -- cgit 1.5.1