mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-14 01:25:40 -05:00
Merge some code clean ups. Find+Replace 'PowerShell' with 'SQL Tools'. Enable logger in ServiceHost project.
48 lines
1.4 KiB
C#
48 lines
1.4 KiB
C#
//
|
|
// Copyright (c) Microsoft. All rights reserved.
|
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
//
|
|
|
|
using Newtonsoft.Json.Linq;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Microsoft.SqlTools.EditorServices.Protocol.MessageProtocol
|
|
{
|
|
public class RequestContext<TResult>
|
|
{
|
|
private Message requestMessage;
|
|
private MessageWriter messageWriter;
|
|
|
|
public RequestContext(Message requestMessage, MessageWriter messageWriter)
|
|
{
|
|
this.requestMessage = requestMessage;
|
|
this.messageWriter = messageWriter;
|
|
}
|
|
|
|
public async Task SendResult(TResult resultDetails)
|
|
{
|
|
await this.messageWriter.WriteResponse<TResult>(
|
|
resultDetails,
|
|
requestMessage.Method,
|
|
requestMessage.Id);
|
|
}
|
|
|
|
public async Task SendEvent<TParams>(EventType<TParams> eventType, TParams eventParams)
|
|
{
|
|
await this.messageWriter.WriteEvent(
|
|
eventType,
|
|
eventParams);
|
|
}
|
|
|
|
public async Task SendError(object errorDetails)
|
|
{
|
|
await this.messageWriter.WriteMessage(
|
|
Message.ResponseError(
|
|
requestMessage.Id,
|
|
requestMessage.Method,
|
|
JToken.FromObject(errorDetails)));
|
|
}
|
|
}
|
|
}
|
|
|