1
0
mirror of https://github.com/JKorf/CryptoExchange.Net synced 2025-06-08 16:36:15 +00:00

Added explicit closing of a request response

This commit is contained in:
JKorf 2018-11-29 09:48:01 +01:00
parent 6a0c7c417b
commit 21ba6c497f
3 changed files with 15 additions and 4 deletions

View File

@ -5,5 +5,6 @@ namespace CryptoExchange.Net.Interfaces
public interface IResponse public interface IResponse
{ {
Stream GetResponseStream(); Stream GetResponseStream();
void Close();
} }
} }

View File

@ -17,5 +17,10 @@ namespace CryptoExchange.Net.Requests
{ {
return response.GetResponseStream(); return response.GetResponseStream();
} }
public void Close()
{
response.Close();
}
} }
} }

View File

@ -254,8 +254,10 @@ namespace CryptoExchange.Net
{ {
returnedData = await reader.ReadToEndAsync().ConfigureAwait(false); returnedData = await reader.ReadToEndAsync().ConfigureAwait(false);
log.Write(LogVerbosity.Debug, "Data returned: " + returnedData); log.Write(LogVerbosity.Debug, "Data returned: " + returnedData);
return new CallResult<string>(returnedData, null);
} }
response.Close();
return new CallResult<string>(returnedData, null);
} }
catch (WebException we) catch (WebException we)
{ {
@ -264,10 +266,12 @@ namespace CryptoExchange.Net
{ {
using (var reader = new StreamReader(response.GetResponseStream())) using (var reader = new StreamReader(response.GetResponseStream()))
{ {
var responseData = await reader.ReadToEndAsync().ConfigureAwait(false); returnedData = await reader.ReadToEndAsync().ConfigureAwait(false);
log.Write(LogVerbosity.Warning, "Server returned an error: " + responseData); log.Write(LogVerbosity.Warning, "Server returned an error: " + returnedData);
return new CallResult<string>(null, ParseErrorResponse(responseData));
} }
response.Close();
return new CallResult<string>(null, ParseErrorResponse(returnedData));
} }
catch (Exception) catch (Exception)
{ {
@ -283,6 +287,7 @@ namespace CryptoExchange.Net
infoMessage = $"Status: {response.StatusCode}-{response.StatusDescription}, Message: {we.Message}"; infoMessage = $"Status: {response.StatusCode}-{response.StatusDescription}, Message: {we.Message}";
log.Write(LogVerbosity.Warning, infoMessage); log.Write(LogVerbosity.Warning, infoMessage);
response.Close();
return new CallResult<string>(null, new ServerError(infoMessage)); return new CallResult<string>(null, new ServerError(infoMessage));
} }
catch (Exception e) catch (Exception e)