UNPKG

@euirim/microsoft-cognitiveservices-speech-sdk

Version:
79 lines (77 loc) 3.69 kB
"use strict"; // 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