diff --git a/framework/Furion.Pure/RemoteRequest/Extensions/RemoteRequestStringExtensions.cs b/framework/Furion.Pure/RemoteRequest/Extensions/RemoteRequestStringExtensions.cs index ef365b9b1b42c68c592663e95de0c6694e4eeba3..c603aacdc563f65702298b767c7c1afc450dfd5b 100644 --- a/framework/Furion.Pure/RemoteRequest/Extensions/RemoteRequestStringExtensions.cs +++ b/framework/Furion.Pure/RemoteRequest/Extensions/RemoteRequestStringExtensions.cs @@ -307,6 +307,17 @@ namespace Furion.RemoteRequest.Extensions return new HttpRequestPart().SetRequestUrl(requestUrl).GetAsStringAsync(cancellationToken); } + /// + /// 发送 GET 请求返回 ByteArray + /// + /// + /// + /// + public static Task GetAsByteArrayAsync(this string requestUrl, CancellationToken cancellationToken = default) + { + return new HttpRequestPart().SetRequestUrl(requestUrl).GetAsByteArrayAsync(cancellationToken); + } + /// /// 发送 GET 请求 /// @@ -352,6 +363,17 @@ namespace Furion.RemoteRequest.Extensions return new HttpRequestPart().SetRequestUrl(requestUrl).PostAsStringAsync(cancellationToken); } + /// + /// 发送 POST 请求返回 ByteArray + /// + /// + /// + /// + public static Task PostAsByteArrayAsync(this string requestUrl, CancellationToken cancellationToken = default) + { + return new HttpRequestPart().SetRequestUrl(requestUrl).PostAsByteArrayAsync(cancellationToken); + } + /// /// 发送 POST 请求 /// @@ -397,6 +419,17 @@ namespace Furion.RemoteRequest.Extensions return new HttpRequestPart().SetRequestUrl(requestUrl).PutAsStringAsync(cancellationToken); } + /// + /// 发送 PUT 请求返回 ByteArray + /// + /// + /// + /// + public static Task PutAsByteArrayAsync(this string requestUrl, CancellationToken cancellationToken = default) + { + return new HttpRequestPart().SetRequestUrl(requestUrl).PutAsByteArrayAsync(cancellationToken); + } + /// /// 发送 PUT 请求 /// @@ -442,6 +475,17 @@ namespace Furion.RemoteRequest.Extensions return new HttpRequestPart().SetRequestUrl(requestUrl).DeleteAsStringAsync(cancellationToken); } + /// + /// 发送 DELETE 请求返回 ByteArray + /// + /// + /// + /// + public static Task DeleteAsByteArrayAsync(this string requestUrl, CancellationToken cancellationToken = default) + { + return new HttpRequestPart().SetRequestUrl(requestUrl).DeleteAsByteArrayAsync(cancellationToken); + } + /// /// 发送 DELETE 请求 /// @@ -487,6 +531,17 @@ namespace Furion.RemoteRequest.Extensions return new HttpRequestPart().SetRequestUrl(requestUrl).PatchAsStringAsync(cancellationToken); } + /// + /// 发送 PATCH 请求返回 ByteArray + /// + /// + /// + /// + public static Task PatchAsByteArrayAsync(this string requestUrl, CancellationToken cancellationToken = default) + { + return new HttpRequestPart().SetRequestUrl(requestUrl).PatchAsByteArrayAsync(cancellationToken); + } + /// /// 发送 PATCH 请求 /// @@ -532,6 +587,17 @@ namespace Furion.RemoteRequest.Extensions return new HttpRequestPart().SetRequestUrl(requestUrl).HeadAsStringAsync(cancellationToken); } + /// + /// 发送 HEAD 请求返回 ByteArray + /// + /// + /// + /// + public static Task HeadAsByteArrayAsync(this string requestUrl, CancellationToken cancellationToken = default) + { + return new HttpRequestPart().SetRequestUrl(requestUrl).HeadAsByteArrayAsync(cancellationToken); + } + /// /// 发送 HEAD 请求 /// @@ -577,6 +643,17 @@ namespace Furion.RemoteRequest.Extensions return new HttpRequestPart().SetRequestUrl(requestUrl).SendAsStringAsync(cancellationToken); } + /// + /// 发送请求返回 ByteArray + /// + /// + /// + /// + public static Task SendAsByteArrayAsync(this string requestUrl, CancellationToken cancellationToken = default) + { + return new HttpRequestPart().SetRequestUrl(requestUrl).SendAsByteArrayAsync(cancellationToken); + } + /// /// 发送请求 /// diff --git a/framework/Furion.Pure/RemoteRequest/Internal/HttpRequestPartMethods.cs b/framework/Furion.Pure/RemoteRequest/Internal/HttpRequestPartMethods.cs index b9051c4270e39849418ba8c979650f7e0ad058b5..9935ee386370a5ba61d9f35a10cba083787e1128 100644 --- a/framework/Furion.Pure/RemoteRequest/Internal/HttpRequestPartMethods.cs +++ b/framework/Furion.Pure/RemoteRequest/Internal/HttpRequestPartMethods.cs @@ -68,6 +68,16 @@ namespace Furion.RemoteRequest return SetHttpMethod(HttpMethod.Get).SendAsStringAsync(cancellationToken); } + /// + /// 发送 GET 请求返回 ByteArray + /// + /// + /// + public Task GetAsByteArrayAsync(CancellationToken cancellationToken = default) + { + return SetHttpMethod(HttpMethod.Get).SendAsByteArrayAsync(cancellationToken); + } + /// /// 发送 GET 请求 /// @@ -109,6 +119,16 @@ namespace Furion.RemoteRequest return SetHttpMethod(HttpMethod.Post).SendAsStringAsync(cancellationToken); } + /// + /// 发送 POST 请求返回 ByteArray + /// + /// + /// + public Task PostAsByteArrayAsync(CancellationToken cancellationToken = default) + { + return SetHttpMethod(HttpMethod.Post).SendAsByteArrayAsync(cancellationToken); + } + /// /// 发送 POST 请求 /// @@ -150,6 +170,15 @@ namespace Furion.RemoteRequest return SetHttpMethod(HttpMethod.Put).SendAsStringAsync(cancellationToken); } + /// + /// 发送 PUT 请求返回 ByteArray + /// + /// + /// + public Task PutAsByteArrayAsync(CancellationToken cancellationToken = default) + { + return SetHttpMethod(HttpMethod.Put).SendAsByteArrayAsync(cancellationToken); + } /// /// 发送 PUT 请求 /// @@ -191,6 +220,16 @@ namespace Furion.RemoteRequest return SetHttpMethod(HttpMethod.Delete).SendAsStringAsync(cancellationToken); } + /// + /// 发送 DELETE 请求返回 ByteArray + /// + /// + /// + public Task DeleteAsByteArrayAsync(CancellationToken cancellationToken = default) + { + return SetHttpMethod(HttpMethod.Delete).SendAsByteArrayAsync(cancellationToken); + } + /// /// 发送 DELETE 请求 /// @@ -232,6 +271,16 @@ namespace Furion.RemoteRequest return SetHttpMethod(HttpMethod.Patch).SendAsStringAsync(cancellationToken); } + /// + /// 发送 Patch 请求返回 ByteArray + /// + /// + /// + public Task PatchAsByteArrayAsync(CancellationToken cancellationToken = default) + { + return SetHttpMethod(HttpMethod.Patch).SendAsByteArrayAsync(cancellationToken); + } + /// /// 发送 PATCH 请求 /// @@ -273,6 +322,16 @@ namespace Furion.RemoteRequest return SetHttpMethod(HttpMethod.Head).SendAsStringAsync(cancellationToken); } + /// + /// 发送 Head 请求返回 ByteArray + /// + /// + /// + public Task HeadAsByteArrayAsync(CancellationToken cancellationToken = default) + { + return SetHttpMethod(HttpMethod.Head).SendAsByteArrayAsync(cancellationToken); + } + /// /// 发送 HEAD 请求 /// @@ -356,6 +415,21 @@ namespace Furion.RemoteRequest return content; } + /// + /// 发送请求返回 ByteArray + /// + /// + /// + public async Task SendAsByteArrayAsync(CancellationToken cancellationToken = default) + { + var response = await SendAsync(cancellationToken); + if (response == null || response.Content == null) return default; + + // 读取响应报文 + var content = await response.Content.ReadAsByteArrayAsync(cancellationToken); + return content; + } + /// /// 发送请求 /// diff --git a/framework/Furion/RemoteRequest/Extensions/RemoteRequestStringExtensions.cs b/framework/Furion/RemoteRequest/Extensions/RemoteRequestStringExtensions.cs index ef365b9b1b42c68c592663e95de0c6694e4eeba3..c603aacdc563f65702298b767c7c1afc450dfd5b 100644 --- a/framework/Furion/RemoteRequest/Extensions/RemoteRequestStringExtensions.cs +++ b/framework/Furion/RemoteRequest/Extensions/RemoteRequestStringExtensions.cs @@ -307,6 +307,17 @@ namespace Furion.RemoteRequest.Extensions return new HttpRequestPart().SetRequestUrl(requestUrl).GetAsStringAsync(cancellationToken); } + /// + /// 发送 GET 请求返回 ByteArray + /// + /// + /// + /// + public static Task GetAsByteArrayAsync(this string requestUrl, CancellationToken cancellationToken = default) + { + return new HttpRequestPart().SetRequestUrl(requestUrl).GetAsByteArrayAsync(cancellationToken); + } + /// /// 发送 GET 请求 /// @@ -352,6 +363,17 @@ namespace Furion.RemoteRequest.Extensions return new HttpRequestPart().SetRequestUrl(requestUrl).PostAsStringAsync(cancellationToken); } + /// + /// 发送 POST 请求返回 ByteArray + /// + /// + /// + /// + public static Task PostAsByteArrayAsync(this string requestUrl, CancellationToken cancellationToken = default) + { + return new HttpRequestPart().SetRequestUrl(requestUrl).PostAsByteArrayAsync(cancellationToken); + } + /// /// 发送 POST 请求 /// @@ -397,6 +419,17 @@ namespace Furion.RemoteRequest.Extensions return new HttpRequestPart().SetRequestUrl(requestUrl).PutAsStringAsync(cancellationToken); } + /// + /// 发送 PUT 请求返回 ByteArray + /// + /// + /// + /// + public static Task PutAsByteArrayAsync(this string requestUrl, CancellationToken cancellationToken = default) + { + return new HttpRequestPart().SetRequestUrl(requestUrl).PutAsByteArrayAsync(cancellationToken); + } + /// /// 发送 PUT 请求 /// @@ -442,6 +475,17 @@ namespace Furion.RemoteRequest.Extensions return new HttpRequestPart().SetRequestUrl(requestUrl).DeleteAsStringAsync(cancellationToken); } + /// + /// 发送 DELETE 请求返回 ByteArray + /// + /// + /// + /// + public static Task DeleteAsByteArrayAsync(this string requestUrl, CancellationToken cancellationToken = default) + { + return new HttpRequestPart().SetRequestUrl(requestUrl).DeleteAsByteArrayAsync(cancellationToken); + } + /// /// 发送 DELETE 请求 /// @@ -487,6 +531,17 @@ namespace Furion.RemoteRequest.Extensions return new HttpRequestPart().SetRequestUrl(requestUrl).PatchAsStringAsync(cancellationToken); } + /// + /// 发送 PATCH 请求返回 ByteArray + /// + /// + /// + /// + public static Task PatchAsByteArrayAsync(this string requestUrl, CancellationToken cancellationToken = default) + { + return new HttpRequestPart().SetRequestUrl(requestUrl).PatchAsByteArrayAsync(cancellationToken); + } + /// /// 发送 PATCH 请求 /// @@ -532,6 +587,17 @@ namespace Furion.RemoteRequest.Extensions return new HttpRequestPart().SetRequestUrl(requestUrl).HeadAsStringAsync(cancellationToken); } + /// + /// 发送 HEAD 请求返回 ByteArray + /// + /// + /// + /// + public static Task HeadAsByteArrayAsync(this string requestUrl, CancellationToken cancellationToken = default) + { + return new HttpRequestPart().SetRequestUrl(requestUrl).HeadAsByteArrayAsync(cancellationToken); + } + /// /// 发送 HEAD 请求 /// @@ -577,6 +643,17 @@ namespace Furion.RemoteRequest.Extensions return new HttpRequestPart().SetRequestUrl(requestUrl).SendAsStringAsync(cancellationToken); } + /// + /// 发送请求返回 ByteArray + /// + /// + /// + /// + public static Task SendAsByteArrayAsync(this string requestUrl, CancellationToken cancellationToken = default) + { + return new HttpRequestPart().SetRequestUrl(requestUrl).SendAsByteArrayAsync(cancellationToken); + } + /// /// 发送请求 /// diff --git a/framework/Furion/RemoteRequest/Internal/HttpRequestPartMethods.cs b/framework/Furion/RemoteRequest/Internal/HttpRequestPartMethods.cs index b9051c4270e39849418ba8c979650f7e0ad058b5..6ca4cb1422261fda20895c81af2b37f028eeb6d0 100644 --- a/framework/Furion/RemoteRequest/Internal/HttpRequestPartMethods.cs +++ b/framework/Furion/RemoteRequest/Internal/HttpRequestPartMethods.cs @@ -68,6 +68,16 @@ namespace Furion.RemoteRequest return SetHttpMethod(HttpMethod.Get).SendAsStringAsync(cancellationToken); } + /// + /// 发送 GET 请求返回 ByteArray + /// + /// + /// + public Task GetAsByteArrayAsync(CancellationToken cancellationToken = default) + { + return SetHttpMethod(HttpMethod.Get).SendAsByteArrayAsync(cancellationToken); + } + /// /// 发送 GET 请求 /// @@ -109,6 +119,16 @@ namespace Furion.RemoteRequest return SetHttpMethod(HttpMethod.Post).SendAsStringAsync(cancellationToken); } + /// + /// 发送 POST 请求返回 ByteArray + /// + /// + /// + public Task PostAsByteArrayAsync(CancellationToken cancellationToken = default) + { + return SetHttpMethod(HttpMethod.Post).SendAsByteArrayAsync(cancellationToken); + } + /// /// 发送 POST 请求 /// @@ -150,6 +170,16 @@ namespace Furion.RemoteRequest return SetHttpMethod(HttpMethod.Put).SendAsStringAsync(cancellationToken); } + /// + /// 发送 PUT 请求返回 ByteArray + /// + /// + /// + public Task PutAsByteArrayAsync(CancellationToken cancellationToken = default) + { + return SetHttpMethod(HttpMethod.Put).SendAsByteArrayAsync(cancellationToken); + } + /// /// 发送 PUT 请求 /// @@ -191,6 +221,16 @@ namespace Furion.RemoteRequest return SetHttpMethod(HttpMethod.Delete).SendAsStringAsync(cancellationToken); } + /// + /// 发送 DELETE 请求返回 ByteArray + /// + /// + /// + public Task DeleteAsByteArrayAsync(CancellationToken cancellationToken = default) + { + return SetHttpMethod(HttpMethod.Delete).SendAsByteArrayAsync(cancellationToken); + } + /// /// 发送 DELETE 请求 /// @@ -232,6 +272,16 @@ namespace Furion.RemoteRequest return SetHttpMethod(HttpMethod.Patch).SendAsStringAsync(cancellationToken); } + /// + /// 发送 Patch 请求返回 ByteArray + /// + /// + /// + public Task PatchAsByteArrayAsync(CancellationToken cancellationToken = default) + { + return SetHttpMethod(HttpMethod.Patch).SendAsByteArrayAsync(cancellationToken); + } + /// /// 发送 PATCH 请求 /// @@ -273,6 +323,16 @@ namespace Furion.RemoteRequest return SetHttpMethod(HttpMethod.Head).SendAsStringAsync(cancellationToken); } + /// + /// 发送 Head 请求返回 ByteArray + /// + /// + /// + public Task HeadAsByteArrayAsync(CancellationToken cancellationToken = default) + { + return SetHttpMethod(HttpMethod.Head).SendAsByteArrayAsync(cancellationToken); + } + /// /// 发送 HEAD 请求 /// @@ -356,6 +416,21 @@ namespace Furion.RemoteRequest return content; } + /// + /// 发送请求返回 ByteArray + /// + /// + /// + public async Task SendAsByteArrayAsync(CancellationToken cancellationToken = default) + { + var response = await SendAsync(cancellationToken); + if (response == null || response.Content == null) return default; + + // 读取响应报文 + var content = await response.Content.ReadAsByteArrayAsync(cancellationToken); + return content; + } + /// /// 发送请求 ///