React to WebSocket feature API changes.
This commit is contained in:
parent
f71d49744e
commit
66b669aa22
|
|
@ -6,9 +6,9 @@ using Microsoft.AspNet.Http;
|
||||||
|
|
||||||
namespace Microsoft.AspNet.WebSockets.Server
|
namespace Microsoft.AspNet.WebSockets.Server
|
||||||
{
|
{
|
||||||
public class WebSocketAcceptContext : IWebSocketAcceptContext
|
public class ExtendedWebSocketAcceptContext : WebSocketAcceptContext
|
||||||
{
|
{
|
||||||
public string SubProtocol { get; set; }
|
public override string SubProtocol { get; set; }
|
||||||
public int? ReceiveBufferSize { get; set; }
|
public int? ReceiveBufferSize { get; set; }
|
||||||
public TimeSpan? KeepAliveInterval { get; set; }
|
public TimeSpan? KeepAliveInterval { get; set; }
|
||||||
|
|
||||||
|
|
@ -73,7 +73,7 @@ namespace Microsoft.AspNet.WebSockets.Server
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<WebSocket> AcceptAsync(IWebSocketAcceptContext acceptContext)
|
public async Task<WebSocket> AcceptAsync(WebSocketAcceptContext acceptContext)
|
||||||
{
|
{
|
||||||
if (!IsWebSocketRequest)
|
if (!IsWebSocketRequest)
|
||||||
{
|
{
|
||||||
|
|
@ -88,7 +88,7 @@ namespace Microsoft.AspNet.WebSockets.Server
|
||||||
|
|
||||||
TimeSpan keepAliveInterval = _options.KeepAliveInterval;
|
TimeSpan keepAliveInterval = _options.KeepAliveInterval;
|
||||||
int receiveBufferSize = _options.ReceiveBufferSize;
|
int receiveBufferSize = _options.ReceiveBufferSize;
|
||||||
var advancedAcceptContext = acceptContext as WebSocketAcceptContext;
|
var advancedAcceptContext = acceptContext as ExtendedWebSocketAcceptContext;
|
||||||
if (advancedAcceptContext != null)
|
if (advancedAcceptContext != null)
|
||||||
{
|
{
|
||||||
if (advancedAcceptContext.ReceiveBufferSize.HasValue)
|
if (advancedAcceptContext.ReceiveBufferSize.HasValue)
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
"description": "ASP.NET 5 web socket middleware for use on top of opaque servers.",
|
"description": "ASP.NET 5 web socket middleware for use on top of opaque servers.",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.AspNet.Http": "1.0.0-*",
|
"Microsoft.AspNet.Http": "1.0.0-*",
|
||||||
"Microsoft.AspNet.Http.Interfaces": { "version": "1.0.0-*", "type": "build" },
|
|
||||||
"Microsoft.AspNet.WebSockets.Protocol": "1.0.0-*"
|
"Microsoft.AspNet.WebSockets.Protocol": "1.0.0-*"
|
||||||
},
|
},
|
||||||
"frameworks": {
|
"frameworks": {
|
||||||
|
|
|
||||||
|
|
@ -25,10 +25,10 @@ namespace AutobahnTestServer
|
||||||
|
|
||||||
managedWebSocketsApp.Use(async (context, next) =>
|
managedWebSocketsApp.Use(async (context, next) =>
|
||||||
{
|
{
|
||||||
if (context.IsWebSocketRequest)
|
if (context.WebSockets.IsWebSocketRequest)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Echo: " + context.Request.Path);
|
Console.WriteLine("Echo: " + context.Request.Path);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
await Echo(webSocket);
|
await Echo(webSocket);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -40,10 +40,10 @@ namespace AutobahnTestServer
|
||||||
{
|
{
|
||||||
nativeWebSocketsApp.Use(async (context, next) =>
|
nativeWebSocketsApp.Use(async (context, next) =>
|
||||||
{
|
{
|
||||||
if (context.IsWebSocketRequest)
|
if (context.WebSockets.IsWebSocketRequest)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Echo: " + context.Request.Path);
|
Console.WriteLine("Echo: " + context.Request.Path);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
await Echo(webSocket);
|
await Echo(webSocket);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
{
|
{
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
}))
|
}))
|
||||||
{
|
{
|
||||||
var client = new WebSocketClient();
|
var client = new WebSocketClient();
|
||||||
|
|
@ -35,9 +35,9 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
{
|
{
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
Assert.Equal("alpha, bravo, charlie", context.Request.Headers["Sec-WebSocket-Protocol"]);
|
Assert.Equal("alpha, bravo, charlie", context.Request.Headers["Sec-WebSocket-Protocol"]);
|
||||||
var webSocket = await context.AcceptWebSocketAsync("Bravo");
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync("Bravo");
|
||||||
}))
|
}))
|
||||||
{
|
{
|
||||||
var client = new WebSocketClient();
|
var client = new WebSocketClient();
|
||||||
|
|
@ -56,8 +56,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
{
|
{
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
var serverBuffer = new byte[0];
|
var serverBuffer = new byte[0];
|
||||||
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
||||||
|
|
@ -81,8 +81,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
var orriginalData = Encoding.UTF8.GetBytes("Hello World");
|
var orriginalData = Encoding.UTF8.GetBytes("Hello World");
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
var serverBuffer = new byte[orriginalData.Length];
|
var serverBuffer = new byte[orriginalData.Length];
|
||||||
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
||||||
|
|
@ -106,8 +106,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
var orriginalData = Encoding.UTF8.GetBytes(new string('a', 130));
|
var orriginalData = Encoding.UTF8.GetBytes(new string('a', 130));
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
var serverBuffer = new byte[orriginalData.Length];
|
var serverBuffer = new byte[orriginalData.Length];
|
||||||
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
||||||
|
|
@ -131,8 +131,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
var orriginalData = Encoding.UTF8.GetBytes(new string('a', 0x1FFFF));
|
var orriginalData = Encoding.UTF8.GetBytes(new string('a', 0x1FFFF));
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
var serverBuffer = new byte[orriginalData.Length];
|
var serverBuffer = new byte[orriginalData.Length];
|
||||||
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
||||||
|
|
@ -168,8 +168,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
var orriginalData = Encoding.UTF8.GetBytes("Hello World");
|
var orriginalData = Encoding.UTF8.GetBytes("Hello World");
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
var serverBuffer = new byte[orriginalData.Length];
|
var serverBuffer = new byte[orriginalData.Length];
|
||||||
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
||||||
|
|
@ -211,8 +211,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
var orriginalData = Encoding.UTF8.GetBytes("Hello World");
|
var orriginalData = Encoding.UTF8.GetBytes("Hello World");
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
await webSocket.SendAsync(new ArraySegment<byte>(orriginalData), WebSocketMessageType.Binary, true, CancellationToken.None);
|
await webSocket.SendAsync(new ArraySegment<byte>(orriginalData), WebSocketMessageType.Binary, true, CancellationToken.None);
|
||||||
}))
|
}))
|
||||||
|
|
@ -235,8 +235,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
var orriginalData = Encoding.UTF8.GetBytes("Hello World");
|
var orriginalData = Encoding.UTF8.GetBytes("Hello World");
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
await webSocket.SendAsync(new ArraySegment<byte>(orriginalData), WebSocketMessageType.Binary, true, CancellationToken.None);
|
await webSocket.SendAsync(new ArraySegment<byte>(orriginalData), WebSocketMessageType.Binary, true, CancellationToken.None);
|
||||||
}))
|
}))
|
||||||
|
|
@ -260,8 +260,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
var orriginalData = Encoding.UTF8.GetBytes(new string('a', 130));
|
var orriginalData = Encoding.UTF8.GetBytes(new string('a', 130));
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
await webSocket.SendAsync(new ArraySegment<byte>(orriginalData), WebSocketMessageType.Binary, true, CancellationToken.None);
|
await webSocket.SendAsync(new ArraySegment<byte>(orriginalData), WebSocketMessageType.Binary, true, CancellationToken.None);
|
||||||
}))
|
}))
|
||||||
|
|
@ -285,8 +285,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
var orriginalData = Encoding.UTF8.GetBytes(new string('a', 0x1FFFF));
|
var orriginalData = Encoding.UTF8.GetBytes(new string('a', 0x1FFFF));
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
await webSocket.SendAsync(new ArraySegment<byte>(orriginalData), WebSocketMessageType.Binary, true, CancellationToken.None);
|
await webSocket.SendAsync(new ArraySegment<byte>(orriginalData), WebSocketMessageType.Binary, true, CancellationToken.None);
|
||||||
}))
|
}))
|
||||||
|
|
@ -318,8 +318,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
var orriginalData = Encoding.UTF8.GetBytes(new string('a', 0x1FFFF));
|
var orriginalData = Encoding.UTF8.GetBytes(new string('a', 0x1FFFF));
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
await webSocket.SendAsync(new ArraySegment<byte>(orriginalData), WebSocketMessageType.Binary, true, CancellationToken.None);
|
await webSocket.SendAsync(new ArraySegment<byte>(orriginalData), WebSocketMessageType.Binary, true, CancellationToken.None);
|
||||||
}))
|
}))
|
||||||
|
|
@ -343,8 +343,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
var orriginalData = Encoding.UTF8.GetBytes("Hello World");
|
var orriginalData = Encoding.UTF8.GetBytes("Hello World");
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
await webSocket.SendAsync(new ArraySegment<byte>(orriginalData, 0, 2), WebSocketMessageType.Binary, false, CancellationToken.None);
|
await webSocket.SendAsync(new ArraySegment<byte>(orriginalData, 0, 2), WebSocketMessageType.Binary, false, CancellationToken.None);
|
||||||
await webSocket.SendAsync(new ArraySegment<byte>(orriginalData, 2, 2), WebSocketMessageType.Binary, false, CancellationToken.None);
|
await webSocket.SendAsync(new ArraySegment<byte>(orriginalData, 2, 2), WebSocketMessageType.Binary, false, CancellationToken.None);
|
||||||
|
|
@ -386,8 +386,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
string closeDescription = "Test Closed";
|
string closeDescription = "Test Closed";
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
var serverBuffer = new byte[1024];
|
var serverBuffer = new byte[1024];
|
||||||
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
||||||
|
|
@ -414,8 +414,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
string closeDescription = "Test Closed";
|
string closeDescription = "Test Closed";
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
await webSocket.CloseOutputAsync(WebSocketCloseStatus.NormalClosure, closeDescription, CancellationToken.None);
|
await webSocket.CloseOutputAsync(WebSocketCloseStatus.NormalClosure, closeDescription, CancellationToken.None);
|
||||||
}))
|
}))
|
||||||
|
|
@ -442,8 +442,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
string closeDescription = "Test Closed";
|
string closeDescription = "Test Closed";
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
var serverBuffer = new byte[1024];
|
var serverBuffer = new byte[1024];
|
||||||
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
||||||
|
|
@ -472,8 +472,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
string closeDescription = "Test Closed";
|
string closeDescription = "Test Closed";
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
var serverBuffer = new byte[1024];
|
var serverBuffer = new byte[1024];
|
||||||
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
var result = await webSocket.ReceiveAsync(new ArraySegment<byte>(serverBuffer), CancellationToken.None);
|
||||||
|
|
@ -504,8 +504,8 @@ namespace Microsoft.AspNet.WebSockets.Client.Test
|
||||||
string closeDescription = "Test Closed";
|
string closeDescription = "Test Closed";
|
||||||
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
using (var server = KestrelWebSocketHelpers.CreateServer(async context =>
|
||||||
{
|
{
|
||||||
Assert.True(context.IsWebSocketRequest);
|
Assert.True(context.WebSockets.IsWebSocketRequest);
|
||||||
var webSocket = await context.AcceptWebSocketAsync();
|
var webSocket = await context.WebSockets.AcceptWebSocketAsync();
|
||||||
|
|
||||||
await webSocket.CloseOutputAsync(WebSocketCloseStatus.NormalClosure, closeDescription, CancellationToken.None);
|
await webSocket.CloseOutputAsync(WebSocketCloseStatus.NormalClosure, closeDescription, CancellationToken.None);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue