Skip to content

Commit 1ce8bd7

Browse files
Define new property EOF and method ReadChunk for HttpClient datatype.
1 parent dc26fbd commit 1ce8bd7

File tree

1 file changed

+48
-20
lines changed

1 file changed

+48
-20
lines changed

dotnet/src/dotnetframework/GxClasses/Domain/GxHttpClient.cs

Lines changed: 48 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1381,33 +1381,61 @@ private Encoding ExtractEncodingFromCharset(string responseText, string regExpP,
13811381
}
13821382
return enc;
13831383
}
1384+
public bool Eof
1385+
{
1386+
get
1387+
{
1388+
if (_chunkedResponse && _receiveStream != null)
1389+
{
1390+
return _receiveStream.EndOfStream;
1391+
}
1392+
return true;
1393+
}
1394+
}
13841395

1385-
public override string ToString()
1396+
public string ReadChunk()
13861397
{
1387-
if (_chunkedResponse && _receiveStream != null)
1388-
{
1389-
if (!_receiveStream.EndOfStream)
1398+
if (_chunkedResponse)
1399+
{
1400+
if (_receiveStream != null)
13901401
{
1391-
string line= _receiveStream.ReadLine();
1392-
if (line != null)
1393-
return line;
1402+
if (!_receiveStream.EndOfStream)
1403+
{
1404+
string line = _receiveStream.ReadLine();
1405+
if (line != null)
1406+
return line;
1407+
}
13941408
else
1395-
return "EOF";
1409+
{
1410+
_receiveStream.Dispose();
1411+
_receiveStream = null;
1412+
response.Dispose();
1413+
response = null;
1414+
}
13961415
}
1397-
else
1398-
{
1399-
_receiveStream.Dispose();
1400-
_receiveStream = null;
1401-
response.Dispose();
1402-
response = null;
1403-
return "EOF";
1416+
return string.Empty;
1417+
}
1418+
else
1419+
return ToString();
1420+
}
1421+
public override string ToString()
1422+
{
1423+
if (_chunkedResponse)
1424+
{
1425+
StringBuilder sb = new StringBuilder();
1426+
while (!Eof){
1427+
sb.Append(ReadChunk());
14041428
}
1429+
return sb.ToString();
1430+
}
1431+
else
1432+
{
1433+
if (_encoding == null)
1434+
_encoding = Encoding.UTF8;
1435+
if (_receiveData == null)
1436+
return string.Empty;
1437+
return _encoding.GetString(_receiveData);
14051438
}
1406-
if (_encoding == null)
1407-
_encoding = Encoding.UTF8;
1408-
if (_receiveData == null)
1409-
return string.Empty;
1410-
return _encoding.GetString(_receiveData);
14111439
}
14121440
public void ToFile(string fileName)
14131441
{

0 commit comments

Comments
 (0)