From af180554fd65c5dbc52932ad61761311f4f989d2 Mon Sep 17 00:00:00 2001 From: ferhat elmas Date: Fri, 19 Nov 2021 13:58:04 +0100 Subject: [PATCH] Add file delete support --- src/stream-net-tests/IntegrationTests.cs | 6 ++++++ src/stream-net/Images.cs | 21 +++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/src/stream-net-tests/IntegrationTests.cs b/src/stream-net-tests/IntegrationTests.cs index f68ee34..6ba0b99 100644 --- a/src/stream-net-tests/IntegrationTests.cs +++ b/src/stream-net-tests/IntegrationTests.cs @@ -2477,17 +2477,23 @@ public async Task TestUpload() { upload = await _client.Files.Upload(fs, "helloworld.txt"); Assert.IsNotEmpty(upload.File); + + await _client.Files.Delete(upload.File); } using (var fs = File.OpenRead("../../../helloworld.txt")) { upload = await _client.Files.Upload(fs, "helloworld.txt", "text/plain"); Assert.IsNotEmpty(upload.File); + + await _client.Files.Delete(upload.File); } using (FileStream fs = File.OpenRead(@"../../../helloworld.jpg")) { upload = await _client.Images.Upload(fs, "helloworld.jpg", "image/jpeg"); Assert.IsNotEmpty(upload.File); + + await _client.Images.Delete(upload.File); } } diff --git a/src/stream-net/Images.cs b/src/stream-net/Images.cs index 1ed44e5..c33c4c1 100644 --- a/src/stream-net/Images.cs +++ b/src/stream-net/Images.cs @@ -1,4 +1,5 @@ using Newtonsoft.Json; +using Stream.Rest; using System.Threading.Tasks; namespace Stream @@ -25,6 +26,16 @@ public async Task Upload(System.IO.Stream image, string name, string con throw StreamException.FromResponse(response); } + + public async Task Delete(string url) + { + var request = _client.BuildAppRequest("images/", HttpMethod.DELETE); + request.AddQueryParameter("url", url); + + var response = await _client.MakeRequest(request); + if (response.StatusCode != System.Net.HttpStatusCode.OK) + throw StreamException.FromResponse(response); + } } public class Files @@ -48,5 +59,15 @@ public async Task Upload(System.IO.Stream file, string name, string cont throw StreamException.FromResponse(response); } + + public async Task Delete(string url) + { + var request = _client.BuildAppRequest("files/", HttpMethod.DELETE); + request.AddQueryParameter("url", url); + + var response = await _client.MakeRequest(request); + if (response.StatusCode != System.Net.HttpStatusCode.OK) + throw StreamException.FromResponse(response); + } } }