Description
We currently have streaming deserialization implementations in place for many HTTP clients (N1QL, Views, Analytics). However, they are using HttpClient without passing an HttpCompletionOption (https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpcompletionoption?view=net-7.0), This means that the result isn't returned to our streaming implementation until the entire response body is read (the default behavior), making the streaming support non-functional.
This is secondarily affecting measurement of the dispatch span for request tracing, as the dispatch span is including the time required to receive the entire query response.
Note: The query results are currently being streamed through the deserializer, so this isn't affecting behaviors like needing to read the rows before getting errors. We're also still getting the memory benefits of streaming in terms of the lifetime of the deserialized objects. This is only affecting the time to first result. This bug also increases the memory required for the HTTP content body, as it buffers the entire body.