Merge branch 'master' into lotix

This commit is contained in:
2026-03-01 05:47:46 +01:00
3 changed files with 18 additions and 10 deletions

View File

@@ -286,7 +286,8 @@ namespace OpenSim.Framework
responseMessage = client.Send(request, HttpCompletionOption.ResponseHeadersRead);
responseMessage.EnsureSuccessStatusCode();
Stream respStream = responseMessage.Content.ReadAsStream();
using CancellationTokenSource cts = new(30000);
using Stream respStream = responseMessage.Content.ReadAsStream(cts.Token);
int length = respStream.Read(_readbuf, 0, BufferSize);
while (length > 0)
{

View File

@@ -37,6 +37,7 @@ using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Web;
using System.Xml;
using System.Xml.Serialization;
@@ -424,7 +425,8 @@ namespace OpenSim.Framework
responseMessage = client.Send(request, HttpCompletionOption.ResponseHeadersRead);
responseMessage.EnsureSuccessStatusCode();
Stream resStream = responseMessage.Content.ReadAsStream();
using CancellationTokenSource cts = new(30000);
Stream resStream = responseMessage.Content.ReadAsStream(cts.Token);
if (resStream is not null)
{
using StreamReader reader = new(resStream);
@@ -589,7 +591,8 @@ namespace OpenSim.Framework
responseMessage = client.Send(request, HttpCompletionOption.ResponseHeadersRead);
responseMessage.EnsureSuccessStatusCode();
using StreamReader reader = new(responseMessage.Content.ReadAsStream());
using CancellationTokenSource cts = new(30000);
using StreamReader reader = new(responseMessage.Content.ReadAsStream(cts.Token));
string responseStr = reader.ReadToEnd();
rcvlen = responseStr.Length;
if (DebugLevel >= 5)
@@ -1160,7 +1163,7 @@ namespace OpenSim.Framework
auth?.AddAuthorization(request.Headers);
request.Headers.ExpectContinue = false;
request.Headers.TransferEncodingChunked = false; if (timeoutsecs > 0)
request.Headers.TransferEncodingChunked = false;
if (keepalive)
{
@@ -1191,7 +1194,8 @@ namespace OpenSim.Framework
if ((responseMessage.Content.Headers.ContentLength is long contentLength) && contentLength != 0)
{
using StreamReader reader = new(responseMessage.Content.ReadAsStream());
using CancellationTokenSource cts = new(30000);
using StreamReader reader = new(responseMessage.Content.ReadAsStream(cts.Token));
respstring = reader.ReadToEnd();
rcvlen = respstring.Length;
}
@@ -1276,7 +1280,8 @@ namespace OpenSim.Framework
if ((responseMessage.Content.Headers.ContentLength is long contentLength) && contentLength != 0)
{
using StreamReader reader = new(responseMessage.Content.ReadAsStream());
using CancellationTokenSource cts = new(30000);
using StreamReader reader = new(responseMessage.Content.ReadAsStream(cts.Token));
respstring = reader.ReadToEnd();
}
}
@@ -1426,7 +1431,8 @@ namespace OpenSim.Framework
if ((responseMessage.Content.Headers.ContentLength is long contentLength) && contentLength != 0)
{
rcvlen = (int)contentLength;
using Stream respStream = responseMessage.Content.ReadAsStream();
using CancellationTokenSource cts = new(30000);
using Stream respStream = responseMessage.Content.ReadAsStream(cts.Token);
deserial = XMLResponseHelper.LogAndDeserialize<TResponse>(
reqnum, respStream, contentLength);
}
@@ -1520,7 +1526,8 @@ namespace OpenSim.Framework
if ((responseMessage.Content.Headers.ContentLength is long contentLength) && contentLength != 0)
{
rcvlen = (int)contentLength;
using Stream respStream = responseMessage.Content.ReadAsStream();
using CancellationTokenSource cts = new(30000);
using Stream respStream = responseMessage.Content.ReadAsStream(cts.Token);
deserial = XMLResponseHelper.LogAndDeserialize<TResponse>(
reqnum, respStream, contentLength);
}

View File

@@ -644,8 +644,8 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest
else
len = -1;
Stream resStream = responseMessage.Content.ReadAsStream();
using CancellationTokenSource cts = new(30000);
Stream resStream = responseMessage.Content.ReadAsStream(cts.Token);
if(resStream is not null)
{
int maxBytes = (len < 0 || len > HttpBodyMaxLen) ? HttpBodyMaxLen : len;