From 2439bc5daf33b1c57560340f547fcde23f661ea2 Mon Sep 17 00:00:00 2001 From: Alexey Zimarev Date: Wed, 22 May 2024 17:20:00 +0200 Subject: [PATCH] Swallow disposal exception that might occur when disposing the content object. Fixes #2188. --- src/RestSharp/Request/RequestContent.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/RestSharp/Request/RequestContent.cs b/src/RestSharp/Request/RequestContent.cs index a38b46036..02b775b9d 100644 --- a/src/RestSharp/Request/RequestContent.cs +++ b/src/RestSharp/Request/RequestContent.cs @@ -23,7 +23,7 @@ namespace RestSharp; class RequestContent(IRestClient client, RestRequest request) : IDisposable { - readonly List _streams = new(); + readonly List _streams = []; readonly ParametersCollection _parameters = new RequestParameters(request.Parameters.Union(client.DefaultParameters)); HttpContent? Content { get; set; } @@ -222,6 +222,12 @@ void ReplaceHeader(string name, string? value) { public void Dispose() { _streams.ForEach(x => x.Dispose()); - Content?.Dispose(); + + try { + Content?.Dispose(); + } + catch (Exception e) when (e is ObjectDisposedException or NullReferenceException) { + // Already disposed + } } } \ No newline at end of file