Make LineSeparatedHttpContent public (#549)

This allows the community to provide custom implementations of the Watch algorithm.
This commit is contained in:
Frederik Carlier
2021-02-01 15:28:28 -08:00
committed by GitHub
parent 4e58609159
commit 6acdac256d

View File

@@ -142,7 +142,7 @@ namespace k8s
}
}
internal class LineSeparatedHttpContent : HttpContent
public class LineSeparatedHttpContent : HttpContent
{
private readonly HttpContent _originContent;
private readonly CancellationToken _cancellationToken;
@@ -154,15 +154,16 @@ namespace k8s
_cancellationToken = cancellationToken;
}
internal PeekableStreamReader StreamReader { get; private set; }
public TextReader StreamReader { get; private set; }
protected override async Task SerializeToStreamAsync(Stream stream, TransportContext context)
{
_originStream = await _originContent.ReadAsStreamAsync().ConfigureAwait(false);
StreamReader = new PeekableStreamReader(new CancelableStream(_originStream, _cancellationToken));
var reader = new PeekableStreamReader(new CancelableStream(_originStream, _cancellationToken));
StreamReader = reader;
var firstLine = await StreamReader.PeekLineAsync().ConfigureAwait(false);
var firstLine = await reader.PeekLineAsync().ConfigureAwait(false);
var writer = new StreamWriter(stream);