diff --git a/Flow.Launcher.Infrastructure/Http/Http.cs b/Flow.Launcher.Infrastructure/Http/Http.cs
index 671b6388f..0be9af5a4 100644
--- a/Flow.Launcher.Infrastructure/Http/Http.cs
+++ b/Flow.Launcher.Infrastructure/Http/Http.cs
@@ -136,7 +136,7 @@ namespace Flow.Launcher.Infrastructure.Http
throw new HttpRequestException(
$"Error code <{response.StatusCode}> with content <{content}> returned from <{url}>");
}
-
+
return content;
}
@@ -148,15 +148,31 @@ namespace Flow.Launcher.Infrastructure.Http
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation
///
public static Task GetStreamAsync([NotNull] string url,
- HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead,
- CancellationToken token = default) => GetStreamAsync(new Uri(url), completionOption, token);
+ CancellationToken token = default) => GetStreamAsync(new Uri(url), token);
- public static async Task GetStreamAsync([NotNull] Uri url, HttpCompletionOption completionOption, CancellationToken token = default)
+ ///
+ /// Send a GET request to the specified Uri with an HTTP completion option and a cancellation token as an asynchronous operation.
+ ///
+ ///
+ ///
+ ///
+ public static async Task GetStreamAsync([NotNull] Uri url,
+ CancellationToken token = default)
{
Log.Debug($"|Http.Get|Url <{url}>");
- using var response = await client.GetAsync(url, completionOption, token);
- return await response.Content.ReadAsStreamAsync(token);
+ return await client.GetStreamAsync(url, token);
+ }
+
+ public static async Task GetResponseAsync(string url, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead,
+ CancellationToken token = default)
+ => await GetResponseAsync(new Uri(url), completionOption, token);
+
+ public static async Task GetResponseAsync([NotNull] Uri url, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead,
+ CancellationToken token = default)
+ {
+ Log.Debug($"|Http.Get|Url <{url}>");
+ return await client.GetAsync(url, completionOption, token);
}
///
diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Bing.cs b/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Bing.cs
index eb9c40c4f..b8ad9a586 100644
--- a/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Bing.cs
+++ b/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Bing.cs
@@ -22,7 +22,7 @@ namespace Flow.Launcher.Plugin.WebSearch.SuggestionSources
{
const string api = "https://api.bing.com/qsonhs.aspx?q=";
- await using var resultStream = await Http.GetStreamAsync(api + Uri.EscapeDataString(query), HttpCompletionOption.ResponseHeadersRead, token).ConfigureAwait(false);
+ await using var resultStream = await Http.GetStreamAsync(api + Uri.EscapeDataString(query), token).ConfigureAwait(false);
using var json = (await JsonDocument.ParseAsync(resultStream, cancellationToken: token));
var root = json.RootElement.GetProperty("AS");
diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Google.cs b/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Google.cs
index 237944343..567e896b5 100644
--- a/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Google.cs
+++ b/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Google.cs
@@ -20,7 +20,7 @@ namespace Flow.Launcher.Plugin.WebSearch.SuggestionSources
{
const string api = "https://www.google.com/complete/search?output=chrome&q=";
- await using var resultStream = await Http.GetStreamAsync(api + Uri.EscapeDataString(query), HttpCompletionOption.ResponseHeadersRead, token: token).ConfigureAwait(false);
+ await using var resultStream = await Http.GetStreamAsync(api + Uri.EscapeDataString(query), token: token).ConfigureAwait(false);
using var json = await JsonDocument.ParseAsync(resultStream, cancellationToken: token);