@euirim/microsoft-cognitiveservices-speech-sdk
Version:
Microsoft Cognitive Services Speech SDK for JavaScript
79 lines (77 loc) • 3.69 kB
JavaScript
;
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT license.
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var Exports_1 = require("../common.browser/Exports");
var Exports_2 = require("../sdk/Exports");
var ConnectionFactoryBase_1 = require("./ConnectionFactoryBase");
var Exports_3 = require("./Exports");
var QueryParameterNames_1 = require("./QueryParameterNames");
var baseUrl = "convai.speech.microsoft.com";
var botFramework = {
authHeader: "X-DLS-Secret",
resourcePath: "",
version: "v3"
};
var speechCommands = {
authHeader: "X-CommandsAppId",
resourcePath: "commands",
version: "v1"
};
var pathSuffix = "api";
function getDialogSpecificValues(dialogType) {
switch (dialogType) {
case "speech_commands": {
return speechCommands;
}
case "bot_framework": {
return botFramework;
}
}
throw new Error("Invalid dialog type '" + dialogType + "'");
}
var DialogConnectionFactory = /** @class */ (function (_super) {
__extends(DialogConnectionFactory, _super);
function DialogConnectionFactory() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.create = function (config, authInfo, connectionId) {
var applicationId = config.parameters.getProperty(Exports_2.PropertyId.Conversation_ApplicationId, "");
var dialogType = config.parameters.getProperty(Exports_2.PropertyId.Conversation_DialogType);
var region = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Region);
var language = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_RecoLanguage, "en-US");
var queryParams = {};
queryParams[QueryParameterNames_1.QueryParameterNames.LanguageParamName] = language;
var _a = getDialogSpecificValues(dialogType), resourcePath = _a.resourcePath, version = _a.version, authHeader = _a.authHeader;
var headers = {};
headers[authInfo.headerName] = authInfo.token;
headers[QueryParameterNames_1.QueryParameterNames.ConnectionIdHeader] = connectionId;
var endpoint;
// ApplicationId is only required for CustomCommands
if (applicationId === "") {
endpoint = "wss://" + region + "." + baseUrl + "/" + pathSuffix + "/" + version;
}
else {
endpoint = "wss://" + region + "." + baseUrl + "/" + resourcePath + "/" + pathSuffix + "/" + version;
headers[authHeader] = applicationId;
}
return new Exports_1.WebsocketConnection(endpoint, queryParams, headers, new Exports_3.WebsocketMessageFormatter(), Exports_1.ProxyInfo.fromRecognizerConfig(config), connectionId);
};
return _this;
}
return DialogConnectionFactory;
}(ConnectionFactoryBase_1.ConnectionFactoryBase));
exports.DialogConnectionFactory = DialogConnectionFactory;
//# sourceMappingURL=DialogConnectorFactory.js.map