diff --git a/src/Middleware/WebSockets/src/ExtendedWebSocketAcceptContext.cs b/src/Middleware/WebSockets/src/ExtendedWebSocketAcceptContext.cs
index d4c7970696..e120f71283 100644
--- a/src/Middleware/WebSockets/src/ExtendedWebSocketAcceptContext.cs
+++ b/src/Middleware/WebSockets/src/ExtendedWebSocketAcceptContext.cs
@@ -6,13 +6,23 @@ using Microsoft.AspNetCore.Http;
namespace Microsoft.AspNetCore.WebSockets
{
+ ///
+ /// Extends the class with additional properties.
+ ///
public class ExtendedWebSocketAcceptContext : WebSocketAcceptContext
{
+ ///
public override string SubProtocol { get; set; }
+ ///
+ /// This property is obsolete and has no effect.
+ ///
[Obsolete("Setting this property has no effect. It will be removed in a future version.")]
public int? ReceiveBufferSize { get; set; }
+ ///
+ /// The interval to send pong frames. This is a heart-beat that keeps the connection alive.
+ ///
public TimeSpan? KeepAliveInterval { get; set; }
}
}
diff --git a/src/Middleware/WebSockets/src/Microsoft.AspNetCore.WebSockets.csproj b/src/Middleware/WebSockets/src/Microsoft.AspNetCore.WebSockets.csproj
index aef64b71c5..b90870dc0d 100644
--- a/src/Middleware/WebSockets/src/Microsoft.AspNetCore.WebSockets.csproj
+++ b/src/Middleware/WebSockets/src/Microsoft.AspNetCore.WebSockets.csproj
@@ -1,4 +1,4 @@
-
+
ASP.NET Core web socket middleware for use on top of opaque servers.
@@ -9,6 +9,7 @@
true
aspnetcore
false
+ $(NoWarn.Replace('1591', ''))
diff --git a/src/Middleware/WebSockets/src/WebSocketMiddleware.cs b/src/Middleware/WebSockets/src/WebSocketMiddleware.cs
index 6ad67c216d..00568942d5 100644
--- a/src/Middleware/WebSockets/src/WebSocketMiddleware.cs
+++ b/src/Middleware/WebSockets/src/WebSocketMiddleware.cs
@@ -17,6 +17,10 @@ using Microsoft.Net.Http.Headers;
namespace Microsoft.AspNetCore.WebSockets
{
+ ///
+ /// Enables accepting WebSocket requests by adding a
+ /// to the if the request is a valid WebSocket request.
+ ///
public class WebSocketMiddleware
{
private readonly RequestDelegate _next;
@@ -25,6 +29,12 @@ namespace Microsoft.AspNetCore.WebSockets
private readonly bool _anyOriginAllowed;
private readonly List _allowedOrigins;
+ ///
+ /// Creates a new instance of the .
+ ///
+ /// The next middleware in the pipeline.
+ /// The configuration options.
+ /// An instance used to create loggers.
public WebSocketMiddleware(RequestDelegate next, IOptions options, ILoggerFactory loggerFactory)
{
if (next == null)
@@ -46,6 +56,12 @@ namespace Microsoft.AspNetCore.WebSockets
// TODO: validate options.
}
+ ///
+ /// Processes a request to determine if it is a WebSocket request, and if so,
+ /// sets the on the .
+ ///
+ /// The representing the request.
+ /// The that represents the completion of the middleware pipeline.
public Task Invoke(HttpContext context)
{
// Detect if an opaque upgrade is available. If so, add a websocket upgrade.
diff --git a/src/Middleware/WebSockets/src/WebSocketOptions.cs b/src/Middleware/WebSockets/src/WebSocketOptions.cs
index 5bf4a15195..2147e60036 100644
--- a/src/Middleware/WebSockets/src/WebSocketOptions.cs
+++ b/src/Middleware/WebSockets/src/WebSocketOptions.cs
@@ -7,10 +7,13 @@ using System.Collections.Generic;
namespace Microsoft.AspNetCore.Builder
{
///
- /// Configuration options for the WebSocketMiddleware
+ /// Configuration options for the WebSocketMiddleware.
///
public class WebSocketOptions
{
+ ///
+ /// Constructs the class with default values.
+ ///
public WebSocketOptions()
{
KeepAliveInterval = TimeSpan.FromMinutes(2);
diff --git a/src/Middleware/WebSockets/src/WebSocketsDependencyInjectionExtensions.cs b/src/Middleware/WebSockets/src/WebSocketsDependencyInjectionExtensions.cs
index 69b2da7eb0..e25810880e 100644
--- a/src/Middleware/WebSockets/src/WebSocketsDependencyInjectionExtensions.cs
+++ b/src/Middleware/WebSockets/src/WebSocketsDependencyInjectionExtensions.cs
@@ -1,4 +1,4 @@
-// Copyright (c) .NET Foundation. All rights reserved.
+// 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;
@@ -7,8 +7,17 @@ using Microsoft.Extensions.DependencyInjection;
namespace Microsoft.AspNetCore.WebSockets
{
+ ///
+ /// Extension method for to add WebSockets configuration.
+ ///
public static class WebSocketsDependencyInjectionExtensions
{
+ ///
+ /// Extension method for to add WebSockets configuration.
+ ///
+ /// The service collection to add WebSockets specific configuration to.
+ /// The configuration callback to setup .
+ ///
public static IServiceCollection AddWebSockets(this IServiceCollection services, Action configure)
{
return services.Configure(configure);