From 350310aa96c0382236cf06a4672afd36ddf24267 Mon Sep 17 00:00:00 2001 From: Ryan Brandenburg Date: Tue, 8 May 2018 11:35:36 -0700 Subject: [PATCH] Handle netcoreapp cases --- samples/Http2SampleApp/Dockerfile | 2 +- samples/Http2SampleApp/scripts/build-docker.ps1 | 2 +- samples/Http2SampleApp/scripts/build-docker.sh | 2 +- samples/LargeResponseApp/LargeResponseApp.csproj | 2 +- src/Kestrel.Core/Adapter/Internal/AdaptedPipeline.cs | 6 +++--- src/Kestrel.Core/Adapter/Internal/LoggingStream.cs | 8 ++++---- src/Kestrel.Core/Adapter/Internal/RawStream.cs | 4 ++-- src/Kestrel.Core/Internal/Http/HttpRequestStream.cs | 2 +- src/Kestrel.Core/Internal/Http/HttpResponseStream.cs | 2 +- src/Kestrel.Core/Internal/Http/MessageBody.cs | 2 +- src/Kestrel.Core/Internal/HttpsConnectionAdapter.cs | 4 ++-- src/Kestrel.Transport.Sockets/Internal/SocketReceiver.cs | 2 +- src/Kestrel.Transport.Sockets/Internal/SocketSender.cs | 4 ++-- test/Kestrel.Core.Tests/HttpRequestStreamTests.cs | 2 +- test/Kestrel.FunctionalTests/GeneratedCodeTests.cs | 2 +- .../HttpsConnectionAdapterTests.cs | 6 +++--- test/SystemdActivation/docker.sh | 4 ++-- 17 files changed, 28 insertions(+), 28 deletions(-) diff --git a/samples/Http2SampleApp/Dockerfile b/samples/Http2SampleApp/Dockerfile index e93d563bde..a3d9cd697f 100644 --- a/samples/Http2SampleApp/Dockerfile +++ b/samples/Http2SampleApp/Dockerfile @@ -9,6 +9,6 @@ ARG CONFIGURATION=Debug WORKDIR /app -COPY ./bin/${CONFIGURATION}/netcoreapp2.0/publish/ /app +COPY ./bin/${CONFIGURATION}/netcoreapp2.2/publish/ /app ENTRYPOINT [ "/usr/bin/dotnet", "/app/Http2SampleApp.dll" ] diff --git a/samples/Http2SampleApp/scripts/build-docker.ps1 b/samples/Http2SampleApp/scripts/build-docker.ps1 index eda82ace6f..375aea994b 100644 --- a/samples/Http2SampleApp/scripts/build-docker.ps1 +++ b/samples/Http2SampleApp/scripts/build-docker.ps1 @@ -1,3 +1,3 @@ -dotnet publish --framework netcoreapp2.0 "$PSScriptRoot/../Http2SampleApp.csproj" +dotnet publish --framework netcoreapp2.2 "$PSScriptRoot/../Http2SampleApp.csproj" docker build -t kestrel-http2-sample (Convert-Path "$PSScriptRoot/..") diff --git a/samples/Http2SampleApp/scripts/build-docker.sh b/samples/Http2SampleApp/scripts/build-docker.sh index ca226f0b53..7ca38313d7 100755 --- a/samples/Http2SampleApp/scripts/build-docker.sh +++ b/samples/Http2SampleApp/scripts/build-docker.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -dotnet publish --framework netcoreapp2.0 "$DIR/../Http2SampleApp.csproj" +dotnet publish --framework netcoreapp2.2 "$DIR/../Http2SampleApp.csproj" docker build -t kestrel-http2-sample "$DIR/.." diff --git a/samples/LargeResponseApp/LargeResponseApp.csproj b/samples/LargeResponseApp/LargeResponseApp.csproj index 13fab4a63e..3bdc59c230 100644 --- a/samples/LargeResponseApp/LargeResponseApp.csproj +++ b/samples/LargeResponseApp/LargeResponseApp.csproj @@ -1,7 +1,7 @@  - netcoreapp2.0;net461 + netcoreapp2.2;net461 false true diff --git a/src/Kestrel.Core/Adapter/Internal/AdaptedPipeline.cs b/src/Kestrel.Core/Adapter/Internal/AdaptedPipeline.cs index 221c4c1b84..0331583b08 100644 --- a/src/Kestrel.Core/Adapter/Internal/AdaptedPipeline.cs +++ b/src/Kestrel.Core/Adapter/Internal/AdaptedPipeline.cs @@ -80,7 +80,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal } else if (buffer.IsSingleSegment) { -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 await stream.WriteAsync(buffer.First); #else var array = buffer.First.GetArray(); @@ -91,7 +91,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal { foreach (var memory in buffer) { -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 await stream.WriteAsync(memory); #else var array = memory.GetArray(); @@ -133,7 +133,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal { var outputBuffer = Input.Writer.GetMemory(MinAllocBufferSize); -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 var bytesRead = await stream.ReadAsync(outputBuffer); #else var array = outputBuffer.GetArray(); diff --git a/src/Kestrel.Core/Adapter/Internal/LoggingStream.cs b/src/Kestrel.Core/Adapter/Internal/LoggingStream.cs index f9225b6f48..d434179af7 100644 --- a/src/Kestrel.Core/Adapter/Internal/LoggingStream.cs +++ b/src/Kestrel.Core/Adapter/Internal/LoggingStream.cs @@ -83,7 +83,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal return read; } -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 public override int Read(Span destination) { int read = _inner.Read(destination); @@ -99,7 +99,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal return read; } -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 public override async ValueTask ReadAsync(Memory destination, CancellationToken cancellationToken = default) { int read = await _inner.ReadAsync(destination, cancellationToken); @@ -124,7 +124,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal _inner.Write(buffer, offset, count); } -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 public override void Write(ReadOnlySpan source) { Log("Write", source); @@ -138,7 +138,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal return _inner.WriteAsync(buffer, offset, count, cancellationToken); } -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 public override ValueTask WriteAsync(ReadOnlyMemory source, CancellationToken cancellationToken = default) { Log("WriteAsync", source.Span); diff --git a/src/Kestrel.Core/Adapter/Internal/RawStream.cs b/src/Kestrel.Core/Adapter/Internal/RawStream.cs index ea381c22b2..f71f5a3573 100644 --- a/src/Kestrel.Core/Adapter/Internal/RawStream.cs +++ b/src/Kestrel.Core/Adapter/Internal/RawStream.cs @@ -69,7 +69,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal return ReadAsyncInternal(new Memory(buffer, offset, count)).AsTask(); } -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 public override ValueTask ReadAsync(Memory destination, CancellationToken cancellationToken = default) { return ReadAsyncInternal(destination); @@ -91,7 +91,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal await _output.FlushAsync(cancellationToken); } -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 public override async ValueTask WriteAsync(ReadOnlyMemory source, CancellationToken cancellationToken = default) { _output.Write(source.Span); diff --git a/src/Kestrel.Core/Internal/Http/HttpRequestStream.cs b/src/Kestrel.Core/Internal/Http/HttpRequestStream.cs index 51b7e7b6cd..29c025f8ad 100644 --- a/src/Kestrel.Core/Internal/Http/HttpRequestStream.cs +++ b/src/Kestrel.Core/Internal/Http/HttpRequestStream.cs @@ -110,7 +110,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http return ReadAsyncInternal(new Memory(buffer, offset, count), cancellationToken).AsTask(); } -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 public override ValueTask ReadAsync(Memory destination, CancellationToken cancellationToken = default) { ValidateState(cancellationToken); diff --git a/src/Kestrel.Core/Internal/Http/HttpResponseStream.cs b/src/Kestrel.Core/Internal/Http/HttpResponseStream.cs index aefbe6fb19..0f2e122617 100644 --- a/src/Kestrel.Core/Internal/Http/HttpResponseStream.cs +++ b/src/Kestrel.Core/Internal/Http/HttpResponseStream.cs @@ -111,7 +111,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http return _httpResponseControl.WriteAsync(new ReadOnlyMemory(buffer, offset, count), cancellationToken); } -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 public override ValueTask WriteAsync(ReadOnlyMemory source, CancellationToken cancellationToken = default) { ValidateState(cancellationToken); diff --git a/src/Kestrel.Core/Internal/Http/MessageBody.cs b/src/Kestrel.Core/Internal/Http/MessageBody.cs index a406e64ffa..5f27a2784d 100644 --- a/src/Kestrel.Core/Internal/Http/MessageBody.cs +++ b/src/Kestrel.Core/Internal/Http/MessageBody.cs @@ -88,7 +88,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http // REVIEW: This *could* be slower if 2 things are true // - The WriteAsync(ReadOnlyMemory) isn't overridden on the destination // - We change the Kestrel Memory Pool to not use pinned arrays but instead use native memory -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 await destination.WriteAsync(memory); #else var array = memory.GetArray(); diff --git a/src/Kestrel.Core/Internal/HttpsConnectionAdapter.cs b/src/Kestrel.Core/Internal/HttpsConnectionAdapter.cs index 301c9c7a23..4de1c64a08 100644 --- a/src/Kestrel.Core/Internal/HttpsConnectionAdapter.cs +++ b/src/Kestrel.Core/Internal/HttpsConnectionAdapter.cs @@ -126,7 +126,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Https.Internal try { -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 // Adapt to the SslStream signature ServerCertificateSelectionCallback selector = null; if (_serverCertificateSelector != null) @@ -197,7 +197,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Https.Internal timeoutFeature.CancelTimeout(); } -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 feature.ApplicationProtocol = sslStream.NegotiatedApplicationProtocol.Protocol; context.Features.Set(feature); #endif diff --git a/src/Kestrel.Transport.Sockets/Internal/SocketReceiver.cs b/src/Kestrel.Transport.Sockets/Internal/SocketReceiver.cs index 2116c03cd5..8de454ec3a 100644 --- a/src/Kestrel.Transport.Sockets/Internal/SocketReceiver.cs +++ b/src/Kestrel.Transport.Sockets/Internal/SocketReceiver.cs @@ -23,7 +23,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal public SocketAwaitable ReceiveAsync(Memory buffer) { -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 _eventArgs.SetBuffer(buffer); #else var segment = buffer.GetArray(); diff --git a/src/Kestrel.Transport.Sockets/Internal/SocketSender.cs b/src/Kestrel.Transport.Sockets/Internal/SocketSender.cs index 26e22b664d..9878d4a3b9 100644 --- a/src/Kestrel.Transport.Sockets/Internal/SocketSender.cs +++ b/src/Kestrel.Transport.Sockets/Internal/SocketSender.cs @@ -34,7 +34,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal return SendAsync(buffers.First); } -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 if (!_eventArgs.MemoryBuffer.Equals(Memory.Empty)) #else if (_eventArgs.Buffer != null) @@ -61,7 +61,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal _eventArgs.BufferList = null; } -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 _eventArgs.SetBuffer(MemoryMarshal.AsMemory(memory)); #else var segment = memory.GetArray(); diff --git a/test/Kestrel.Core.Tests/HttpRequestStreamTests.cs b/test/Kestrel.Core.Tests/HttpRequestStreamTests.cs index 1ffa74b027..4c8e53a82e 100644 --- a/test/Kestrel.Core.Tests/HttpRequestStreamTests.cs +++ b/test/Kestrel.Core.Tests/HttpRequestStreamTests.cs @@ -92,7 +92,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Tests var stream = new HttpRequestStream(Mock.Of()); Assert.Throws(() => stream.BeginWrite(new byte[1], 0, 1, null, null)); } -#elif NETCOREAPP2_1 +#elif NETCOREAPP2_2 #else #error Target framework needs to be updated #endif diff --git a/test/Kestrel.FunctionalTests/GeneratedCodeTests.cs b/test/Kestrel.FunctionalTests/GeneratedCodeTests.cs index bcf34ccaf9..3a4a55a8b3 100644 --- a/test/Kestrel.FunctionalTests/GeneratedCodeTests.cs +++ b/test/Kestrel.FunctionalTests/GeneratedCodeTests.cs @@ -1,7 +1,7 @@ // 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. -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 using System.IO; using Xunit; diff --git a/test/Kestrel.FunctionalTests/HttpsConnectionAdapterTests.cs b/test/Kestrel.FunctionalTests/HttpsConnectionAdapterTests.cs index 1531e07b97..6f7b55a3a2 100644 --- a/test/Kestrel.FunctionalTests/HttpsConnectionAdapterTests.cs +++ b/test/Kestrel.FunctionalTests/HttpsConnectionAdapterTests.cs @@ -152,7 +152,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests { Assert.NotNull(connection); Assert.NotNull(connection.Features.Get()); -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 Assert.Equal("localhost", name); #else Assert.Null(name); @@ -192,7 +192,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests { Assert.NotNull(connection); Assert.NotNull(connection.Features.Get()); -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 Assert.Equal("localhost", name); #else Assert.Null(name); @@ -280,7 +280,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.FunctionalTests { Assert.NotNull(connection); Assert.NotNull(connection.Features.Get()); -#if NETCOREAPP2_1 +#if NETCOREAPP2_2 Assert.Equal("localhost", name); #else Assert.Null(name); diff --git a/test/SystemdActivation/docker.sh b/test/SystemdActivation/docker.sh index f2ba5fe506..b6a3a174c8 100644 --- a/test/SystemdActivation/docker.sh +++ b/test/SystemdActivation/docker.sh @@ -4,8 +4,8 @@ set -e scriptDir=$(dirname "${BASH_SOURCE[0]}") PATH="$PWD/.dotnet/:$PATH" -dotnet publish -f netcoreapp2.0 ./samples/SystemdTestApp/ -cp -R ./samples/SystemdTestApp/bin/Debug/netcoreapp2.0/publish/ $scriptDir +dotnet publish -f netcoreapp2.2 ./samples/SystemdTestApp/ +cp -R ./samples/SystemdTestApp/bin/Debug/netcoreapp2.2/publish/ $scriptDir cp -R ./.dotnet/ $scriptDir image=$(docker build -qf $scriptDir/Dockerfile $scriptDir)