diff --git a/src/Ramstack.HtmxToolkit/HtmxRequestHeaders.cs b/src/Ramstack.HtmxToolkit/HtmxRequestHeaders.cs
index 16c098d..07783dd 100644
--- a/src/Ramstack.HtmxToolkit/HtmxRequestHeaders.cs
+++ b/src/Ramstack.HtmxToolkit/HtmxRequestHeaders.cs
@@ -65,7 +65,7 @@ internal HtmxRequestHeaders(HttpRequest request) =>
///
/// The header name is .
///
- public bool Request => GetBoolean(_headers, HtmxRequestHeaderNames.Request);
+ public bool Request => _headers.ContainsKey(HtmxRequestHeaderNames.Request);
///
/// Gets the type of the expected response, either a partial or a full page.
diff --git a/src/Ramstack.HtmxToolkit/HtmxResponseHeaders.cs b/src/Ramstack.HtmxToolkit/HtmxResponseHeaders.cs
index b0cc14a..5fd5f41 100644
--- a/src/Ramstack.HtmxToolkit/HtmxResponseHeaders.cs
+++ b/src/Ramstack.HtmxToolkit/HtmxResponseHeaders.cs
@@ -202,7 +202,9 @@ public string Reselect
/// The header value.
private static void SetHeader(IHeaderDictionary headers, string key, string? value)
{
- if (value is not null)
+ if (string.IsNullOrEmpty(value))
+ headers.Remove(key);
+ else
headers[key] = value;
}
diff --git a/src/Ramstack.HtmxToolkit/HttpRequestExtensions.cs b/src/Ramstack.HtmxToolkit/HttpRequestExtensions.cs
index 06b3e94..96cb6ce 100644
--- a/src/Ramstack.HtmxToolkit/HttpRequestExtensions.cs
+++ b/src/Ramstack.HtmxToolkit/HttpRequestExtensions.cs
@@ -16,7 +16,7 @@ public static class HttpRequestExtensions
/// otherwise, .
///
public static bool IsHtmxRequest(this HttpRequest request) =>
- request.Headers.ContainsKey(HtmxRequestHeaderNames.Request);
+ request.GetHtmxHeaders().Request;
///
/// Determines whether the specified HTTP request is an HTMX request.
@@ -31,11 +31,11 @@ public static bool IsHtmxRequest(this HttpRequest request) =>
public static bool IsHtmxRequest(this HttpRequest request, out HtmxRequestHeaders headers)
{
headers = new HtmxRequestHeaders(request);
- return request.IsHtmxRequest();
+ return headers.Request;
}
///
- /// Determines whether the specified HTTP request was made using AJAX instead of a normal navigation.
+ /// Determines whether the request came from a link or form enhanced with hx-boost.
///
/// The HTTP request.
///
@@ -43,7 +43,7 @@ public static bool IsHtmxRequest(this HttpRequest request, out HtmxRequestHeader
/// otherwise, .
///
public static bool IsHtmxBoosted(this HttpRequest request) =>
- request.Headers.TryGetValue(HtmxRequestHeaderNames.Boosted, out var value) && value is ["true"];
+ request.GetHtmxHeaders().Boosted;
///
/// Determines whether the specified HTTP request has an HX-Request-Type value of "full".