Skip to content

Commit 57d4481

Browse files
committed
Перенос _RawStream в body
1 parent 5d3581a commit 57d4481

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

src/OneScript.StandardLibrary/Http/HttpResponseBody.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class HttpResponseBody : IDisposable
2525

2626
private readonly bool _autoDecompress;
2727
private long _contentSize = 0;
28+
private Stream _rawStream;
2829

2930
public HttpResponseBody(HttpWebResponse response, string dumpToFile)
3031
{
@@ -33,7 +34,8 @@ public HttpResponseBody(HttpWebResponse response, string dumpToFile)
3334
_inMemBody = Array.Empty<byte>();
3435
return;
3536
}
36-
37+
38+
_rawStream = response.GetResponseStream();
3739
_autoDecompress = string.Equals(response.ContentEncoding, "gzip", StringComparison.OrdinalIgnoreCase);
3840
_contentSize = _autoDecompress ? -1 : response.ContentLength;
3941

@@ -72,7 +74,7 @@ private void InitInMemoryResponse(HttpWebResponse response)
7274

7375
public long ContentSize => _contentSize < 0 ? 0 : _contentSize;
7476

75-
public Stream OpenReadStream(Stream rawStream)
77+
public Stream OpenReadStream()
7678
{
7779
if (_backingFileName != null)
7880
{
@@ -83,7 +85,7 @@ public Stream OpenReadStream(Stream rawStream)
8385
return new MemoryStream(_inMemBody);
8486
}
8587
else
86-
return rawStream;
88+
return _rawStream;
8789
}
8890

8991
private Stream GetResponseStream(HttpWebResponse response)

src/OneScript.StandardLibrary/Http/HttpResponseContext.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ public class HttpResponseContext : AutoContext<HttpResponseContext>, IDisposable
2828
// TODO: Нельзя выделить массив размером больше чем 2GB
2929
// поэтому функционал сохранения в файл не должен использовать промежуточный буфер _body
3030
private HttpResponseBody _body;
31-
private Stream _rawStream;
3231
private HttpWebResponse _response;
3332

3433
private string _defaultCharset;
@@ -41,7 +40,6 @@ public HttpResponseContext(HttpWebResponse response, string dumpToFile)
4140

4241
ProcessHeaders(response.Headers);
4342
ProcessResponseBody(response, dumpToFile);
44-
_rawStream = response.GetResponseStream();
4543
_response = response;
4644

4745
if (_body != null && _body.AutoDecompress)
@@ -128,7 +126,7 @@ public IValue GetBodyAsString(IValue encoding = null)
128126
else
129127
enc = TextEncodingEnum.GetEncoding(encoding);
130128

131-
using(var reader = new StreamReader(_body.OpenReadStream(_rawStream), enc))
129+
using(var reader = new StreamReader(_body.OpenReadStream(), enc))
132130
{
133131
return ValueFactory.Create(reader.ReadToEnd());
134132
}
@@ -145,7 +143,7 @@ public IValue GetBodyAsBinaryData()
145143
if (_body == null)
146144
return ValueFactory.Create();
147145

148-
using (var stream = _body.OpenReadStream(_rawStream))
146+
using (var stream = _body.OpenReadStream())
149147
using (var memoryStream = new MemoryStream())
150148
{
151149
stream.CopyTo(memoryStream);
@@ -163,7 +161,7 @@ public IValue GetBodyAsStream()
163161
if (_body == null)
164162
return ValueFactory.Create();
165163

166-
return new GenericStream(_body.OpenReadStream(_rawStream), true);
164+
return new GenericStream(_body.OpenReadStream(), true);
167165
}
168166

169167
/// <summary>

0 commit comments

Comments
 (0)