Bug Report
Overview
When Debugging is enabled, the HTTP stream is read once again, and because of that, it throws an exception: The stream was already consumed.
To Reproduce
Steps to reproduce the behavior:
I used the same console app, which I have already given in the previous report.
Expected behavior
to dump whatever was supposed to.
Resolution proposal
Add the following lines at the BaseEndpointExtension ln:37
if (baseEndpoint.EnableDebug) // just before ReadAsStreamAsync(.. this will enable multiple reads of the stream.
{
await response.Content.LoadIntoBufferAsync().ConfigureAwait(false);
}
await using var stream = await response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
SS:
Additional context
at System.Net.Http.HttpConnectionResponseContent.ConsumeStream()
at System.Net.Http.HttpConnectionResponseContent.<<SerializeToStreamAsync>g__Impl|6_0>d.MoveNext()
at System.Net.Http.HttpContent.<LoadIntoBufferAsyncCore>d__63.MoveNext()
at System.Net.Http.HttpContent.<WaitAndReturnAsync>d__82`2.MoveNext()
at OpenAI.Extensions.ResponseExtensions.<ReadAsStringAsync>d__18.MoveNext() in \OpenAI-DotNet\OpenAI-DotNet\Extensions\ResponseExtensions.cs:line 151
at OpenAI.Extensions.ResponseExtensions.<CheckResponseAsync>d__15.MoveNext() in \OpenAI-DotNet\OpenAI-DotNet\Extensions\ResponseExtensions.cs:line 139
at OpenAI.Extensions.BaseEndpointExtensions.<StreamEventsAsync>d__6.MoveNext() in \OpenAI-DotNet\OpenAI-DotNet\Extensions\BaseEndpointExtensions.cs:line 109
at OpenAI.Extensions.BaseEndpointExtensions.<StreamEventsAsync>d__6.MoveNext() in \OpenAI-DotNet\OpenAI-DotNet\Extensions\BaseEndpointExtensions.cs:line 112
at OpenAI.Responses.ResponsesEndpoint.<StreamResponseAsync>d__7.MoveNext() in \OpenAI-DotNet\OpenAI-DotNet\Responses\ResponsesEndpoint.cs:line 125
at OpenAI.Responses.ResponsesEndpoint.<CreateModelResponseAsync>d__5.MoveNext() in \OpenAI-DotNet\OpenAI-DotNet\Responses\ResponsesEndpoint.cs:line 69
at Program.<Main>d__4.MoveNext() in \ConsoleTestApp\Program.cs:line 212
Bug Report
Overview
When Debugging is enabled, the HTTP stream is read once again, and because of that, it throws an exception: The stream was already consumed.
To Reproduce
Steps to reproduce the behavior:
I used the same console app, which I have already given in the previous report.
Expected behavior
to dump whatever was supposed to.
Resolution proposal
Add the following lines at the BaseEndpointExtension ln:37
SS:
Additional context