diff --git a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Microsoft.Bot.Builder.Skills.csproj b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Microsoft.Bot.Builder.Skills.csproj
index 50ea43467c..2d6abb9caf 100644
--- a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Microsoft.Bot.Builder.Skills.csproj
+++ b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Microsoft.Bot.Builder.Skills.csproj
@@ -1,13 +1,12 @@
-
4.0.0-local
$(PackageVersion)
4.0.0-local
$(PackageVersion)
Debug;Release;Documentation;Debug - NuGet Packages;
+ 7.1
-
netstandard2.0
Microsoft.Bot.Builder.Skills
@@ -15,55 +14,35 @@
Microsoft
Microsoft
Shared library for building Bot Framework Skills.
-
- https://botbuilder.myget.org/F/experimental/api/v3/index.json;
-
- true
-
true
true
..\..\build\35MSSharedLib1024.snk
false
-
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
+
-
-
-
- Dependencies\Microsoft.Bot.Protocol.dll
-
-
- Dependencies\Microsoft.Bot.Protocol.WebSockets.dll
-
-
-
TextTemplatingFileGenerator
SkillResponses.cs
-
True
@@ -71,5 +50,4 @@
SkillResponses.tt
-
-
+
\ No newline at end of file
diff --git a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Microsoft.Bot.Builder.Skills.nuspec b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Microsoft.Bot.Builder.Skills.nuspec
index 5f48ba341a..2d075f8b5c 100644
--- a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Microsoft.Bot.Builder.Skills.nuspec
+++ b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Microsoft.Bot.Builder.Skills.nuspec
@@ -17,8 +17,6 @@
-
-
diff --git a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Protocol/RouteAction.cs b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Protocol/RouteAction.cs
index b156f453ee..8b5fb3625d 100644
--- a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Protocol/RouteAction.cs
+++ b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Protocol/RouteAction.cs
@@ -1,6 +1,6 @@
using System;
using System.Threading.Tasks;
-using Microsoft.Bot.Protocol;
+using Microsoft.Bot.StreamingExtensions;
namespace Microsoft.Bot.Builder.Skills.Protocol
{
diff --git a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Protocol/RouteContext.cs b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Protocol/RouteContext.cs
index d121581d6f..e7093c6bc4 100644
--- a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Protocol/RouteContext.cs
+++ b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Protocol/RouteContext.cs
@@ -1,4 +1,4 @@
-using Microsoft.Bot.Protocol;
+using Microsoft.Bot.StreamingExtensions;
namespace Microsoft.Bot.Builder.Skills.Protocol
{
diff --git a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Protocol/Router.cs b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Protocol/Router.cs
index ac0e37c09a..7ebf797ad3 100644
--- a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Protocol/Router.cs
+++ b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/Protocol/Router.cs
@@ -2,7 +2,7 @@
using System.Collections.Generic;
using System.Dynamic;
using System.Linq;
-using Microsoft.Bot.Protocol;
+using Microsoft.Bot.StreamingExtensions;
namespace Microsoft.Bot.Builder.Skills.Protocol
{
diff --git a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillCallingRequestHandler.cs b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillCallingRequestHandler.cs
index 1ff898e6b7..d256f82076 100644
--- a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillCallingRequestHandler.cs
+++ b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillCallingRequestHandler.cs
@@ -1,11 +1,12 @@
using System;
using System.Net.Http;
using System.Text;
+using System.Threading;
using System.Threading.Tasks;
using Microsoft.Bot.Builder.Skills.Protocol;
using Microsoft.Bot.Builder.Solutions;
-using Microsoft.Bot.Protocol;
using Microsoft.Bot.Schema;
+using Microsoft.Bot.StreamingExtensions;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
@@ -37,7 +38,7 @@ public SkillCallingRequestHandler(ITurnContext turnContext, IBotTelemetryClient
Action =
async (request, routeData) =>
{
- var activity = await request.ReadBodyAsJson().ConfigureAwait(false);
+ var activity = request.ReadBodyAsJson();
if (activity != null)
{
if (activity.Type == ActivityTypes.Event && activity.Name == TokenEvents.TokenRequestEventName)
@@ -88,8 +89,8 @@ public SkillCallingRequestHandler(ITurnContext turnContext, IBotTelemetryClient
Action =
async (request, routeData) =>
{
- var activity = await request.ReadBodyAsJson().ConfigureAwait(false);
- var result = _turnContext.UpdateActivityAsync(activity).ConfigureAwait(false);
+ var activity = request.ReadBodyAsJson();
+ var result = await _turnContext.UpdateActivityAsync(activity).ConfigureAwait(false);
return result;
},
},
@@ -103,7 +104,7 @@ public SkillCallingRequestHandler(ITurnContext turnContext, IBotTelemetryClient
Action =
async (request, routeData) =>
{
- var result = await _turnContext.DeleteActivityAsync(routeData.activityId);
+ var result = await _turnContext.DeleteActivityAsync(routeData.activityId).ConfigureAwait(false);
return result;
},
},
@@ -113,7 +114,7 @@ public SkillCallingRequestHandler(ITurnContext turnContext, IBotTelemetryClient
_router = new Router(routes);
}
- public override async Task ProcessRequestAsync(ReceiveRequest request, object context = null, ILogger logger = null)
+ public override async Task ProcessRequestAsync(ReceiveRequest request, ILogger logger, object context = null, CancellationToken cancellationToken = default)
{
var routeContext = _router.Route(request);
if (routeContext != null)
@@ -121,17 +122,17 @@ public override async Task ProcessRequestAsync(ReceiveRequest request,
try
{
var responseBody = await routeContext.Action.Action(request, routeContext.RouteData).ConfigureAwait(false);
- return Response.OK(new StringContent(JsonConvert.SerializeObject(responseBody, SerializationSettings.DefaultSerializationSettings), Encoding.UTF8, SerializationSettings.ApplicationJson));
+ return StreamingResponse.OK(new StringContent(JsonConvert.SerializeObject(responseBody, SerializationSettings.DefaultSerializationSettings), Encoding.UTF8, SerializationSettings.ApplicationJson));
}
catch (Exception ex)
{
_botTelemetryClient.TrackException(ex);
- return Response.InternalServerError();
+ return StreamingResponse.InternalServerError();
}
}
else
{
- return Response.NotFound();
+ return StreamingResponse.NotFound();
}
}
}
diff --git a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketAdapter.cs b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketAdapter.cs
index faf70896d0..7e959e2b4a 100644
--- a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketAdapter.cs
+++ b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketAdapter.cs
@@ -7,7 +7,8 @@
using Microsoft.AspNetCore.Http;
using Microsoft.Bot.Builder.Integration.AspNet.Core;
using Microsoft.Bot.Builder.Skills.Auth;
-using Microsoft.Bot.Protocol.WebSockets;
+using Microsoft.Bot.StreamingExtensions.Transport;
+using Microsoft.Bot.StreamingExtensions.Transport.WebSockets;
namespace Microsoft.Bot.Builder.Skills
{
@@ -90,7 +91,7 @@ private async Task CreateWebSocketConnectionAsync(HttpContext httpContext, IBot
Task.WaitAll(startListening);
}
- private void Server_Disconnected(object sender, Bot.Protocol.Transport.DisconnectedEventArgs e)
+ private void Server_Disconnected(object sender, DisconnectedEventArgs e)
{
if (_stopWatch.IsRunning)
{
diff --git a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketBotAdapter.cs b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketBotAdapter.cs
index e7d937f8c2..1d202939d6 100644
--- a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketBotAdapter.cs
+++ b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketBotAdapter.cs
@@ -4,9 +4,9 @@
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Bot.Builder.Solutions;
-using Microsoft.Bot.Protocol;
-using Microsoft.Bot.Protocol.WebSockets;
using Microsoft.Bot.Schema;
+using Microsoft.Bot.StreamingExtensions;
+using Microsoft.Bot.StreamingExtensions.Transport.WebSockets;
using Diagnostics = System.Diagnostics;
namespace Microsoft.Bot.Builder.Skills
@@ -121,7 +121,7 @@ public override async Task SendActivitiesAsync(ITurnContext
(activity.Type == ActivityTypes.Trace && activity.ChannelId == "emulator"))
{
var requestPath = $"/activities/{activity.Id}";
- var request = Request.CreatePost(requestPath);
+ var request = StreamingRequest.CreatePost(requestPath);
request.SetBody(activity);
_botTelemetryClient.TrackTrace($"Sending activity. ReplyToId: {activity.ReplyToId}", Severity.Information, null);
@@ -168,7 +168,7 @@ public override async Task SendActivitiesAsync(ITurnContext
public override async Task UpdateActivityAsync(ITurnContext turnContext, Activity activity, CancellationToken cancellationToken)
{
var requestPath = $"/activities/{activity.Id}";
- var request = Request.CreatePut(requestPath);
+ var request = StreamingRequest.CreatePut(requestPath);
request.SetBody(activity);
var response = default(ResourceResponse);
@@ -199,7 +199,7 @@ public override async Task UpdateActivityAsync(ITurnContext tu
public override async Task DeleteActivityAsync(ITurnContext turnContext, ConversationReference reference, CancellationToken cancellationToken)
{
var requestPath = $"/activities/{reference.ActivityId}";
- var request = Request.CreateDelete(requestPath);
+ var request = StreamingRequest.CreateDelete(requestPath);
_botTelemetryClient.TrackTrace($"Deleting activity. activity id: {reference.ActivityId}", Severity.Information, null);
@@ -232,7 +232,7 @@ public async Task SendRemoteTokenRequestEventAsync(ITurnContext turnContext, Can
await SendActivitiesAsync(turnContext, new Activity[] { response }, cancellationToken).ConfigureAwait(false);
}
- private async Task SendRequestAsync(Request request, CancellationToken cancellation = default(CancellationToken))
+ private async Task SendRequestAsync(StreamingRequest request, CancellationToken cancellation = default(CancellationToken))
{
try
{
@@ -253,7 +253,7 @@ public async Task SendRemoteTokenRequestEventAsync(ITurnContext turnContext, Can
return default(T);
}
- private async Task SendRequestAsync(Request request, CancellationToken cancellation = default(CancellationToken))
+ private async Task SendRequestAsync(StreamingRequest request, CancellationToken cancellation = default(CancellationToken))
{
try
{
diff --git a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketRequestHandler.cs b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketRequestHandler.cs
index c636059513..d5860cba5a 100644
--- a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketRequestHandler.cs
+++ b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketRequestHandler.cs
@@ -5,8 +5,8 @@
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Bot.Builder.Solutions;
-using Microsoft.Bot.Protocol;
using Microsoft.Bot.Schema;
+using Microsoft.Bot.StreamingExtensions;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using Diagnostics = System.Diagnostics;
@@ -28,7 +28,7 @@ internal SkillWebSocketRequestHandler(IBotTelemetryClient botTelemetryClient)
public IActivityHandler SkillWebSocketBotAdapter { get; set; }
- public async override Task ProcessRequestAsync(ReceiveRequest request, object context = null, ILogger logger = null)
+ public async override Task ProcessRequestAsync(ReceiveRequest request, ILogger logger = null, object context = null, CancellationToken cancellationToken = default(CancellationToken))
{
if (Bot == null)
{
@@ -40,9 +40,9 @@ public async override Task ProcessRequestAsync(ReceiveRequest request,
throw new ArgumentNullException(nameof(SkillWebSocketBotAdapter));
}
- var response = new Response();
+ var response = new StreamingResponse();
- var body = await request.ReadBodyAsString().ConfigureAwait(false);
+ var body = request.ReadBodyAsString();
if (string.IsNullOrEmpty(body) || request.Streams?.Count == 0)
{
@@ -51,7 +51,7 @@ public async override Task ProcessRequestAsync(ReceiveRequest request,
return response;
}
- if (request.Streams.Where(x => x.Type != "application/json; charset=utf-8").Any())
+ if (request.Streams.Where(x => x.ContentType != "application/json; charset=utf-8").Any())
{
response.StatusCode = (int)HttpStatusCode.NotAcceptable;
return response;
diff --git a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketTransport.cs b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketTransport.cs
index 685018ddbe..89d953df88 100644
--- a/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketTransport.cs
+++ b/lib/csharp/microsoft.bot.builder.skills/Microsoft.Bot.Builder.Skills/SkillWebSocketTransport.cs
@@ -7,10 +7,10 @@
using Microsoft.Bot.Builder.Skills.Models;
using Microsoft.Bot.Builder.Skills.Models.Manifest;
using Microsoft.Bot.Connector.Authentication;
-using Microsoft.Bot.Protocol;
-using Microsoft.Bot.Protocol.Transport;
-using Microsoft.Bot.Protocol.WebSockets;
using Microsoft.Bot.Schema;
+using Microsoft.Bot.StreamingExtensions;
+using Microsoft.Bot.StreamingExtensions.Transport;
+using Microsoft.Bot.StreamingExtensions.Transport.WebSockets;
using Newtonsoft.Json;
namespace Microsoft.Bot.Builder.Skills
@@ -66,7 +66,7 @@ public async Task ForwardToSkillAsync(ITurnContext turnContext, Activity a
// Serialize the activity and POST to the Skill endpoint
var body = new StringContent(JsonConvert.SerializeObject(activity, SerializationSettings.BotSchemaSerializationSettings), Encoding.UTF8, SerializationSettings.ApplicationJson);
- var request = Request.CreatePost(string.Empty, body);
+ var request = StreamingRequest.CreatePost(string.Empty, body);
// set back recipient id to make things consistent
activity.Recipient.Id = recipientId;