diff --git a/src/Microsoft.AspNetCore.Http.Abstractions/ConnectionInfo.cs b/src/Microsoft.AspNetCore.Http.Abstractions/ConnectionInfo.cs index 08c4108609..d4cab49afe 100644 --- a/src/Microsoft.AspNetCore.Http.Abstractions/ConnectionInfo.cs +++ b/src/Microsoft.AspNetCore.Http.Abstractions/ConnectionInfo.cs @@ -10,6 +10,11 @@ namespace Microsoft.AspNetCore.Http { public abstract class ConnectionInfo { + /// + /// Gets or sets a unique identifier to represent this connection. + /// + public abstract string Id { get; set; } + public abstract IPAddress RemoteIpAddress { get; set; } public abstract int RemotePort { get; set; } @@ -22,4 +27,4 @@ namespace Microsoft.AspNetCore.Http public abstract Task GetClientCertificateAsync(CancellationToken cancellationToken = new CancellationToken()); } -} \ No newline at end of file +} diff --git a/src/Microsoft.AspNetCore.Http/Internal/DefaultConnectionInfo.cs b/src/Microsoft.AspNetCore.Http/Internal/DefaultConnectionInfo.cs index 496df69654..6ae7f9fc38 100644 --- a/src/Microsoft.AspNetCore.Http/Internal/DefaultConnectionInfo.cs +++ b/src/Microsoft.AspNetCore.Http/Internal/DefaultConnectionInfo.cs @@ -39,6 +39,13 @@ namespace Microsoft.AspNetCore.Http.Internal private ITlsConnectionFeature TlsConnectionFeature=> _features.Fetch(ref _features.Cache.TlsConnection, _newTlsConnectionFeature); + /// + public override string Id + { + get { return HttpConnectionFeature.ConnectionId; } + set { HttpConnectionFeature.ConnectionId = value; } + } + public override IPAddress RemoteIpAddress { get { return HttpConnectionFeature.RemoteIpAddress; } @@ -80,4 +87,4 @@ namespace Microsoft.AspNetCore.Http.Internal public ITlsConnectionFeature TlsConnection; } } -} \ No newline at end of file +}