mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-10-31 10:37:22 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using ServiceStack.Service;
 | |
| using System.IO;
 | |
| using System.Threading.Tasks;
 | |
| 
 | |
| namespace MediaBrowser.Server.Implementations.HttpServer
 | |
| {
 | |
|     /// <summary>
 | |
|     /// Class StreamWriter
 | |
|     /// </summary>
 | |
|     public class StreamWriter : IStreamWriter
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// Gets or sets the source stream.
 | |
|         /// </summary>
 | |
|         /// <value>The source stream.</value>
 | |
|         public Stream SourceStream { get; set; }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Initializes a new instance of the <see cref="StreamWriter" /> class.
 | |
|         /// </summary>
 | |
|         /// <param name="source">The source.</param>
 | |
|         public StreamWriter(Stream source)
 | |
|         {
 | |
|             SourceStream = source;
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Writes to.
 | |
|         /// </summary>
 | |
|         /// <param name="responseStream">The response stream.</param>
 | |
|         public void WriteTo(Stream responseStream)
 | |
|         {
 | |
|             var task = WriteToAsync(responseStream);
 | |
| 
 | |
|             Task.WaitAll(task);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// Writes to async.
 | |
|         /// </summary>
 | |
|         /// <param name="responseStream">The response stream.</param>
 | |
|         /// <returns>Task.</returns>
 | |
|         private async Task WriteToAsync(Stream responseStream)
 | |
|         {
 | |
|             using (var src = SourceStream)
 | |
|             {
 | |
|                 await src.CopyToAsync(responseStream).ConfigureAwait(false);
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |