diff --git a/src/Microsoft.AspNet.StaticFiles/StaticFileContext.cs b/src/Microsoft.AspNet.StaticFiles/StaticFileContext.cs index cefcecdb26..6c54ba865c 100644 --- a/src/Microsoft.AspNet.StaticFiles/StaticFileContext.cs +++ b/src/Microsoft.AspNet.StaticFiles/StaticFileContext.cs @@ -10,6 +10,7 @@ using System.Threading.Tasks; using Microsoft.AspNet.Builder; using Microsoft.AspNet.FileProviders; using Microsoft.AspNet.Http; +using Microsoft.AspNet.Http.Extensions; using Microsoft.AspNet.Http.Features; using Microsoft.AspNet.Http.Headers; using Microsoft.AspNet.StaticFiles.Infrastructure; diff --git a/src/Microsoft.AspNet.StaticFiles/StreamCopyOperation.cs b/src/Microsoft.AspNet.StaticFiles/StreamCopyOperation.cs deleted file mode 100644 index 25bbae6107..0000000000 --- a/src/Microsoft.AspNet.StaticFiles/StreamCopyOperation.cs +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using System.Buffers; -using System.Diagnostics; -using System.IO; -using System.Threading; -using System.Threading.Tasks; - -namespace Microsoft.AspNet.StaticFiles -{ - // FYI: In most cases the source will be a FileStream and the destination will be to the network. - internal static class StreamCopyOperation - { - private const int DefaultBufferSize = 4096; - - internal static async Task CopyToAsync(Stream source, Stream destination, long? length, CancellationToken cancel) - { - long? bytesRemaining = length; - - var buffer = ArrayPool.Shared.Rent(DefaultBufferSize); - try - { - Debug.Assert(source != null); - Debug.Assert(destination != null); - Debug.Assert(!bytesRemaining.HasValue || bytesRemaining.Value >= 0); - Debug.Assert(buffer != null); - - while (true) - { - // The natural end of the range. - if (bytesRemaining.HasValue && bytesRemaining.Value <= 0) - { - return; - } - - cancel.ThrowIfCancellationRequested(); - - int readLength = buffer.Length; - if (bytesRemaining.HasValue) - { - readLength = (int)Math.Min(bytesRemaining.Value, (long)readLength); - } - int count = await source.ReadAsync(buffer, 0, readLength, cancel); - - if (bytesRemaining.HasValue) - { - bytesRemaining -= count; - } - - // End of the source stream. - if (count == 0) - { - return; - } - - cancel.ThrowIfCancellationRequested(); - - await destination.WriteAsync(buffer, 0, count, cancel); - } - } - finally - { - ArrayPool.Shared.Return(buffer); - } - } - } -} \ No newline at end of file diff --git a/src/Microsoft.AspNet.StaticFiles/project.json b/src/Microsoft.AspNet.StaticFiles/project.json index 0b9daa1c02..87611531d7 100644 --- a/src/Microsoft.AspNet.StaticFiles/project.json +++ b/src/Microsoft.AspNet.StaticFiles/project.json @@ -14,8 +14,7 @@ "Microsoft.AspNet.FileProviders.Abstractions": "1.0.0-*", "Microsoft.AspNet.Hosting.Abstractions": "1.0.0-*", "Microsoft.Extensions.Logging.Abstractions": "1.0.0-*", - "Microsoft.Extensions.WebEncoders": "1.0.0-*", - "System.Buffers": "4.0.0-*" + "Microsoft.Extensions.WebEncoders": "1.0.0-*" }, "frameworks": { "net451": {},