From b4d6bb35b7f80af2e48330f52232bc2ea195b32c Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 18 May 2023 17:48:48 +0100 Subject: [PATCH] cosmetics on restclient --- OpenSim/Framework/RestClient.cs | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/OpenSim/Framework/RestClient.cs b/OpenSim/Framework/RestClient.cs index d0dfc9d060..5c168722b0 100644 --- a/OpenSim/Framework/RestClient.cs +++ b/OpenSim/Framework/RestClient.cs @@ -58,17 +58,17 @@ namespace OpenSim.Framework /// /// The base Uri of the web-service e.g. http://www.google.com /// - private string _url; + private readonly string _url; /// /// Path elements of the query /// - private List _pathElements = new List(); + private readonly List _pathElements = new(); /// /// Parameter elements of the query, e.g. min=34 /// - private Dictionary _parameterElements = new Dictionary(); + private readonly Dictionary _parameterElements = new(); /// /// Request method. E.g. GET, POST, PUT or DELETE @@ -78,12 +78,12 @@ namespace OpenSim.Framework /// /// Temporary buffer used to store bytes temporarily as they come in from the server /// - private byte[] _readbuf; + private readonly byte[] _readbuf; /// /// MemoryStream representing the resulting resource /// - private MemoryStream _resource; + private readonly MemoryStream _resource; /// /// Default time out period @@ -111,7 +111,7 @@ namespace OpenSim.Framework _lock = new object(); } - private object _lock; + private readonly object _lock; #endregion constructors @@ -207,7 +207,7 @@ namespace OpenSim.Framework /// fully constructed Uri private Uri buildUri() { - StringBuilder sb = new StringBuilder(); + StringBuilder sb = new(); sb.Append(_url); foreach (string e in _pathElements) @@ -359,22 +359,23 @@ namespace OpenSim.Framework request.Headers.ExpectContinue = false; request.Headers.TransferEncodingChunked = false; + //if (keepalive) + { + request.Headers.TryAddWithoutValidation("Keep-Alive", "timeout=30, max=10"); + request.Headers.TryAddWithoutValidation("Connection", "Keep-Alive"); + request.Headers.ConnectionClose = false; + } + //else + // request.Headers.TryAddWithoutValidation("Connection", "close"); + cancellationToken = new CancellationTokenSource(TimeSpan.FromSeconds(DefaultTimeout)); request.Content = new ByteArrayContent(src); request.Content.Headers.TryAddWithoutValidation("Content-Type", "application/xml"); request.Content.Headers.TryAddWithoutValidation("Content-Length", src.Length.ToString()); - responseMessage = client.Send(request, HttpCompletionOption.ResponseHeadersRead, cancellationToken.Token); + responseMessage = client.Send(request, HttpCompletionOption.ResponseContentRead, cancellationToken.Token); responseMessage.EnsureSuccessStatusCode(); - - using StreamReader reader = new StreamReader(responseMessage.Content.ReadAsStream()); - string responseStr = reader.ReadToEnd(); - if (WebUtil.DebugLevel >= 5) - { - int reqnum = WebUtil.RequestNumber++; - WebUtil.LogOutgoingDetail("REST POST", responseStr); - } } catch (HttpRequestException e) {