diff --git a/readme.md b/readme.md index 744b78e..da569e2 100644 --- a/readme.md +++ b/readme.md @@ -177,7 +177,7 @@ To share a cache across multiple handlers or consumers, use a single `ReplicantC ```cs var content = await httpCache.StringAsync("https://httpbin.org/json"); ``` -snippet source | anchor +snippet source | anchor ```cs var lines = new List(); @@ -186,7 +186,7 @@ await foreach (var line in httpCache.LinesAsync("https://httpbin.org/json")) lines.Add(line); } ``` -snippet source | anchor +snippet source | anchor @@ -197,7 +197,7 @@ await foreach (var line in httpCache.LinesAsync("https://httpbin.org/json")) ```cs var bytes = await httpCache.BytesAsync("https://httpbin.org/json"); ``` -snippet source | anchor +snippet source | anchor @@ -208,7 +208,7 @@ var bytes = await httpCache.BytesAsync("https://httpbin.org/json"); ```cs using var stream = await httpCache.StreamAsync("https://httpbin.org/json"); ``` -snippet source | anchor +snippet source | anchor @@ -219,7 +219,7 @@ using var stream = await httpCache.StreamAsync("https://httpbin.org/json"); ```cs await httpCache.ToFileAsync("https://httpbin.org/json", targetFile); ``` -snippet source | anchor +snippet source | anchor @@ -230,7 +230,7 @@ await httpCache.ToFileAsync("https://httpbin.org/json", targetFile); ```cs await httpCache.ToStreamAsync("https://httpbin.org/json", targetStream); ``` -snippet source | anchor +snippet source | anchor @@ -245,7 +245,7 @@ using var response = new HttpResponseMessage(HttpStatusCode.OK) }; await httpCache.AddItemAsync(uri, response); ``` -snippet source | anchor +snippet source | anchor @@ -258,7 +258,7 @@ If an error occurs when re-validating a potentially stale item, then the cached ```cs var content = httpCache.StringAsync(uri, staleIfError: true); ``` -snippet source | anchor +snippet source | anchor @@ -272,7 +272,7 @@ By default, 404 responses are not cached and throw an exception. Set `cache404: await using var cache = new HttpCache(cacheDirectory, cache404: true); var content = await cache.StringAsync(uri); ``` -snippet source | anchor +snippet source | anchor @@ -327,7 +327,7 @@ await using var cache = new HttpCache( minFreshness: TimeSpan.FromHours(1)); var content = await cache.StringAsync("https://httpbin.org/json"); ``` -snippet source | anchor +snippet source | anchor @@ -346,7 +346,7 @@ var content = await httpCache.StringAsync( message.Headers.Add("Key2", "Value2"); }); ``` -snippet source | anchor +snippet source | anchor diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 3a614f5..2231790 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -2,7 +2,7 @@ CS1591;NU1608;NU1109 - 3.2.0 + 3.3.0 preview 1.0.0 HttpClient, HttpCache, Cache diff --git a/src/Replicant/Replicant.csproj b/src/Replicant/Replicant.csproj index d0b5afb..d8fcd49 100644 --- a/src/Replicant/Replicant.csproj +++ b/src/Replicant/Replicant.csproj @@ -1,9 +1,9 @@ - net48;net8.0;net9.0;net10.0;net11.0 + netstandard2.0;net48;net8.0;net9.0;net10.0;net11.0 - net8.0;net9.0;net10.0;net11.0 + netstandard2.0;net8.0;net9.0;net10.0;net11.0 @@ -12,9 +12,9 @@ - + - + \ No newline at end of file diff --git a/src/Tests/HttpCacheTests.ExpiredShouldNotSendEtagOrIfModifiedSince.verified.txt b/src/Tests/HttpCacheTests.ExpiredShouldNotSendEtagOrIfModifiedSince.verified.txt index aa12817..8bbdfad 100644 --- a/src/Tests/HttpCacheTests.ExpiredShouldNotSendEtagOrIfModifiedSince.verified.txt +++ b/src/Tests/HttpCacheTests.ExpiredShouldNotSendEtagOrIfModifiedSince.verified.txt @@ -27,7 +27,7 @@ Request: { Uri: https://httpbin.org/etag/{etag}, Headers: { - If-Modified-Since: Wed, 01 Apr 2026 11:26:02 GMT, + If-Modified-Since: DateTime_2, If-None-Match: "{etag}" } }, @@ -36,7 +36,7 @@ Headers: { Access-Control-Allow-Credentials: true, Access-Control-Allow-Origin: *, - Date: DateTime_1, + Date: DateTime_3, ETag: {etag} } } diff --git a/src/Tests/HttpCacheTests.cs b/src/Tests/HttpCacheTests.cs index 51fc062..679bcea 100644 --- a/src/Tests/HttpCacheTests.cs +++ b/src/Tests/HttpCacheTests.cs @@ -246,7 +246,8 @@ public async Task ExpiredShouldNotSendEtagOrIfModifiedSince() Recording.Start(); result = await httpCache.DownloadAsync(uri); await Verify(result) - .IgnoreMembers("traceparent", "Traceparent"); + .IgnoreMembers("traceparent", "Traceparent") + .ScrubInlineDateTimes("ddd, dd MMM yyyy HH:mm:ss 'GMT'"); } [Test]