From 6acdac256d90e7912ae404724dbdc3f637d1e772 Mon Sep 17 00:00:00 2001 From: Frederik Carlier Date: Mon, 1 Feb 2021 15:28:28 -0800 Subject: [PATCH] Make LineSeparatedHttpContent public (#549) This allows the community to provide custom implementations of the Watch algorithm. --- src/KubernetesClient/WatcherDelegatingHandler.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/KubernetesClient/WatcherDelegatingHandler.cs b/src/KubernetesClient/WatcherDelegatingHandler.cs index e3305dd..f2db8f1 100644 --- a/src/KubernetesClient/WatcherDelegatingHandler.cs +++ b/src/KubernetesClient/WatcherDelegatingHandler.cs @@ -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);