microsoft-speech-browser-sdk
Version:
Microsoft Speech SDK for browsers
116 lines (114 loc) • 4.58 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var 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 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/Exports");
var PathHeaderName = "path";
var ContentTypeHeaderName = "content-type";
var RequestIdHeaderName = "x-requestid";
var RequestTimestampHeaderName = "x-timestamp";
var SpeechConnectionMessage = /** @class */ (function (_super) {
__extends(SpeechConnectionMessage, _super);
function SpeechConnectionMessage(messageType, path, requestId, contentType, body, additionalHeaders, id) {
var _this = this;
if (!path) {
throw new Exports_1.ArgumentNullError("path");
}
if (!requestId) {
throw new Exports_1.ArgumentNullError("requestId");
}
var headers = {};
headers[PathHeaderName] = path;
headers[RequestIdHeaderName] = requestId;
headers[RequestTimestampHeaderName] = new Date().toISOString();
if (contentType) {
headers[ContentTypeHeaderName] = contentType;
}
if (additionalHeaders) {
for (var headerName in additionalHeaders) {
if (headerName) {
headers[headerName] = additionalHeaders[headerName];
}
}
}
if (id) {
_this = _super.call(this, messageType, body, headers, id) || this;
}
else {
_this = _super.call(this, messageType, body, headers) || this;
}
_this.path = path;
_this.requestId = requestId;
_this.contentType = contentType;
_this.additionalHeaders = additionalHeaders;
return _this;
}
Object.defineProperty(SpeechConnectionMessage.prototype, "Path", {
get: function () {
return this.path;
},
enumerable: true,
configurable: true
});
Object.defineProperty(SpeechConnectionMessage.prototype, "RequestId", {
get: function () {
return this.requestId;
},
enumerable: true,
configurable: true
});
Object.defineProperty(SpeechConnectionMessage.prototype, "ContentType", {
get: function () {
return this.contentType;
},
enumerable: true,
configurable: true
});
Object.defineProperty(SpeechConnectionMessage.prototype, "AdditionalHeaders", {
get: function () {
return this.additionalHeaders;
},
enumerable: true,
configurable: true
});
SpeechConnectionMessage.FromConnectionMessage = function (message) {
var path = null;
var requestId = null;
var contentType = null;
var requestTimestamp = null;
var additionalHeaders = {};
if (message.Headers) {
for (var headerName in message.Headers) {
if (headerName) {
if (headerName.toLowerCase() === PathHeaderName.toLowerCase()) {
path = message.Headers[headerName];
}
else if (headerName.toLowerCase() === RequestIdHeaderName.toLowerCase()) {
requestId = message.Headers[headerName];
}
else if (headerName.toLowerCase() === RequestTimestampHeaderName.toLowerCase()) {
requestTimestamp = message.Headers[headerName];
}
else if (headerName.toLowerCase() === ContentTypeHeaderName.toLowerCase()) {
contentType = message.Headers[headerName];
}
else {
additionalHeaders[headerName] = message.Headers[headerName];
}
}
}
}
return new SpeechConnectionMessage(message.MessageType, path, requestId, contentType, message.Body, additionalHeaders, message.Id);
};
return SpeechConnectionMessage;
}(Exports_1.ConnectionMessage));
exports.SpeechConnectionMessage = SpeechConnectionMessage;
//# sourceMappingURL=SpeechConnectionMessage.Internal.js.map