UNPKG

@euirim/microsoft-cognitiveservices-speech-sdk

Version:
85 lines (83 loc) 3.13 kB
// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. import { ArgumentNullError, ConnectionMessage } from "../common/Exports"; const PathHeaderName = "path"; const ContentTypeHeaderName = "content-type"; const RequestIdHeaderName = "x-requestid"; const RequestTimestampHeaderName = "x-timestamp"; export class SpeechConnectionMessage extends ConnectionMessage { constructor(messageType, path, requestId, contentType, body, additionalHeaders, id) { if (!path) { throw new ArgumentNullError("path"); } if (!requestId) { throw new ArgumentNullError("requestId"); } const headers = {}; headers[PathHeaderName] = path; headers[RequestIdHeaderName] = requestId; headers[RequestTimestampHeaderName] = new Date().toISOString(); if (contentType) { headers[ContentTypeHeaderName] = contentType; } if (additionalHeaders) { for (const headerName in additionalHeaders) { if (headerName) { headers[headerName] = additionalHeaders[headerName]; } } } if (id) { super(messageType, body, headers, id); } else { super(messageType, body, headers); } this.privPath = path; this.privRequestId = requestId; this.privContentType = contentType; this.privAdditionalHeaders = additionalHeaders; } get path() { return this.privPath; } get requestId() { return this.privRequestId; } get contentType() { return this.privContentType; } get additionalHeaders() { return this.privAdditionalHeaders; } } SpeechConnectionMessage.fromConnectionMessage = (message) => { let path = null; let requestId = null; let contentType = null; let requestTimestamp = null; const additionalHeaders = {}; if (message.headers) { for (const 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); }; //# sourceMappingURL=SpeechConnectionMessage.Internal.js.map