{"version":3,"sources":["src/common.speech/SpeechConnectionMessage.Internal.ts"],"names":[],"mappings":"AAGA,OAAO,EAAqB,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAG5G,qBAAa,uBAAwB,SAAQ,iBAAiB;IAE1D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,qBAAqB,CAA4B;gBAGrD,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,GAAG,EACT,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAC7C,EAAE,CAAC,EAAE,MAAM;IA4Cf,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAExD;WAEa,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,GAAG,uBAAuB;CAsC3F","file":"SpeechConnectionMessage.Internal.d.ts","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n\nimport { ArgumentNullError, ConnectionMessage, IStringDictionary, MessageType } from \"../common/Exports.js\";\nimport { HeaderNames } from \"./HeaderNames.js\";\n\nexport class SpeechConnectionMessage extends ConnectionMessage {\n\n    private privPath: string;\n    private privRequestId: string;\n    private privContentType: string;\n    private privStreamId: string;\n    private privAdditionalHeaders: IStringDictionary<string>;\n\n    public constructor(\n        messageType: MessageType,\n        path: string,\n        requestId: string,\n        contentType: string,\n        body: any,\n        streamId?: string,\n        additionalHeaders?: IStringDictionary<string>,\n        id?: string) {\n\n        if (!path) {\n            throw new ArgumentNullError(\"path\");\n        }\n\n        if (!requestId) {\n            throw new ArgumentNullError(\"requestId\");\n        }\n\n        const headers: IStringDictionary<string> = {};\n        headers[HeaderNames.Path] = path;\n        headers[HeaderNames.RequestId] = requestId;\n        headers[HeaderNames.RequestTimestamp] = new Date().toISOString();\n        if (contentType) {\n            headers[HeaderNames.ContentType] = contentType;\n        }\n\n        if (streamId) {\n            headers[HeaderNames.RequestStreamId] = streamId;\n        }\n\n        if (additionalHeaders) {\n            for (const headerName in additionalHeaders) {\n                if (headerName) {\n                    headers[headerName] = additionalHeaders[headerName];\n                }\n\n            }\n        }\n\n        if (id) {\n            super(messageType, body, headers, id);\n        } else {\n            super(messageType, body, headers);\n        }\n\n        this.privPath = path;\n        this.privRequestId = requestId;\n        this.privContentType = contentType;\n        this.privStreamId = streamId;\n        this.privAdditionalHeaders = additionalHeaders;\n    }\n\n    public get path(): string {\n        return this.privPath;\n    }\n\n    public get requestId(): string {\n        return this.privRequestId;\n    }\n\n    public get contentType(): string {\n        return this.privContentType;\n    }\n\n    public get streamId(): string {\n        return this.privStreamId;\n    }\n\n    public get additionalHeaders(): IStringDictionary<string> {\n        return this.privAdditionalHeaders;\n    }\n\n    public static fromConnectionMessage(message: ConnectionMessage): SpeechConnectionMessage {\n        let path = null;\n        let requestId = null;\n        let contentType = null;\n        // let requestTimestamp = null;\n        let streamId = null;\n        const additionalHeaders: IStringDictionary<string> = {};\n\n        if (message.headers) {\n            for (const headerName in message.headers) {\n                if (headerName) {\n                    if (headerName.toLowerCase() === HeaderNames.Path.toLowerCase()) {\n                        path = message.headers[headerName];\n                    } else if (headerName.toLowerCase() === HeaderNames.RequestId.toLowerCase()) {\n                        requestId = message.headers[headerName];\n                    // } else if (headerName.toLowerCase() === HeaderNames.RequestTimestamp.toLowerCase()) {\n                       //  requestTimestamp = message.headers[headerName];\n                    } else if (headerName.toLowerCase() === HeaderNames.ContentType.toLowerCase()) {\n                        contentType = message.headers[headerName];\n                    } else if (headerName.toLowerCase() === HeaderNames.RequestStreamId.toLowerCase()) {\n                        streamId = message.headers[headerName];\n                    } else {\n                        additionalHeaders[headerName] = message.headers[headerName];\n                    }\n                }\n            }\n        }\n\n        return new SpeechConnectionMessage(\n            message.messageType,\n            path,\n            requestId,\n            contentType,\n            message.body,\n            streamId,\n            additionalHeaders,\n            message.id);\n    }\n}\n"]}