botframework-streaming
Version:
Streaming library for the Microsoft Bot Framework
77 lines • 4.11 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SendOperations = void 0;
const cancelDisassembler_1 = require("../disassemblers/cancelDisassembler");
const httpContentStreamDisassembler_1 = require("../disassemblers/httpContentStreamDisassembler");
const requestDisassembler_1 = require("../disassemblers/requestDisassembler");
const responseDisassembler_1 = require("../disassemblers/responseDisassembler");
const payloadTypes_1 = require("./payloadTypes");
/**
* Send operations for streaming payloads.
*/
class SendOperations {
/**
* Initializes a new instance of the [SendOperations](xref:botframework-streaming.SendOperations) class.
*
* @param payloadSender The [PayloadSender](xref:botframework-streaming.PayloadSender) that will send the disassembled data from all of this instance's send operations.
*/
constructor(payloadSender) {
this.payloadSender = payloadSender;
}
/**
* The send operation used to send a [StreamingRequest](xref:botframework-streaming.StreamingRequest).
*
* @param id The ID to assign to the [RequestDisassembler](xref:botframework-streaming.RequestDisassembler) used by this operation.
* @param request The request to send.
*/
sendRequest(id, request) {
return __awaiter(this, void 0, void 0, function* () {
const disassembler = new requestDisassembler_1.RequestDisassembler(this.payloadSender, id, request);
yield disassembler.disassemble();
if (request.streams) {
request.streams.forEach((contentStream) => __awaiter(this, void 0, void 0, function* () {
yield new httpContentStreamDisassembler_1.HttpContentStreamDisassembler(this.payloadSender, contentStream).disassemble();
}));
}
});
}
/**
* The send operation used to send a [PayloadTypes.response](xref:botframework-streaming.PayloadTypes.response).
*
* @param id The ID to assign to the [ResponseDisassembler](xref:botframework-streaming.ResponseDisassembler) used by this operation.
* @param response The response to send.
*/
sendResponse(id, response) {
return __awaiter(this, void 0, void 0, function* () {
const disassembler = new responseDisassembler_1.ResponseDisassembler(this.payloadSender, id, response);
yield disassembler.disassemble();
if (response.streams) {
response.streams.forEach((contentStream) => __awaiter(this, void 0, void 0, function* () {
yield new httpContentStreamDisassembler_1.HttpContentStreamDisassembler(this.payloadSender, contentStream).disassemble();
}));
}
});
}
/**
* The send operation used to send a [PayloadTypes.cancelStream](xref:botframework-streaming.PayloadTypes.cancelStream).
*
* @param id The ID to assign to the [CancelDisassembler](xref:botframework-streaming.CancelDisassembler) used by this operation.
*/
sendCancelStream(id) {
return __awaiter(this, void 0, void 0, function* () {
const disassembler = new cancelDisassembler_1.CancelDisassembler(this.payloadSender, id, payloadTypes_1.PayloadTypes.cancelStream);
disassembler.disassemble();
});
}
}
exports.SendOperations = SendOperations;
//# sourceMappingURL=sendOperations.js.map
;