Files
flights_web_raw/apps/angular/node_modules/.cache/babel-webpack/9a82c972f0b4e48316fa84906e0cedf7.json
T

1 line
20 KiB
JSON

{"ast":null,"code":"import _asyncToGenerator from \"/Users/gnezim/_projects/tims/flights_web_raw/Aeroflot.Flights.Web/apps/angular/node_modules/@babel/runtime/helpers/esm/asyncToGenerator\";\n// Licensed to the .NET Foundation under one or more agreements.\n// The .NET Foundation licenses this file to you under the MIT license.\nimport { HeaderNames } from \"./HeaderNames\";\nimport { LogLevel } from \"./ILogger\";\nimport { TransferFormat } from \"./ITransport\";\nimport { Arg, getDataDetail, getUserAgentHeader, Platform } from \"./Utils\";\n/** @private */\n\nexport class WebSocketTransport {\n constructor(httpClient, accessTokenFactory, logger, logMessageContent, webSocketConstructor, headers) {\n this._logger = logger;\n this._accessTokenFactory = accessTokenFactory;\n this._logMessageContent = logMessageContent;\n this._webSocketConstructor = webSocketConstructor;\n this._httpClient = httpClient;\n this.onreceive = null;\n this.onclose = null;\n this._headers = headers;\n }\n\n connect(url, transferFormat) {\n var _this = this;\n\n return _asyncToGenerator(function* () {\n Arg.isRequired(url, \"url\");\n Arg.isRequired(transferFormat, \"transferFormat\");\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\n\n _this._logger.log(LogLevel.Trace, \"(WebSockets transport) Connecting.\");\n\n let token;\n\n if (_this._accessTokenFactory) {\n token = yield _this._accessTokenFactory();\n }\n\n return new Promise((resolve, reject) => {\n url = url.replace(/^http/, \"ws\");\n let webSocket;\n\n const cookies = _this._httpClient.getCookieString(url);\n\n let opened = false;\n\n if (Platform.isNode || Platform.isReactNative) {\n const headers = {};\n const [name, value] = getUserAgentHeader();\n headers[name] = value;\n\n if (token) {\n headers[HeaderNames.Authorization] = `Bearer ${token}`;\n }\n\n if (cookies) {\n headers[HeaderNames.Cookie] = cookies;\n } // Only pass headers when in non-browser environments\n\n\n webSocket = new _this._webSocketConstructor(url, undefined, {\n headers: { ...headers,\n ..._this._headers\n }\n });\n } else {\n if (token) {\n url += (url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + `access_token=${encodeURIComponent(token)}`;\n }\n }\n\n if (!webSocket) {\n // Chrome is not happy with passing 'undefined' as protocol\n webSocket = new _this._webSocketConstructor(url);\n }\n\n if (transferFormat === TransferFormat.Binary) {\n webSocket.binaryType = \"arraybuffer\";\n }\n\n webSocket.onopen = _event => {\n _this._logger.log(LogLevel.Information, `WebSocket connected to ${url}.`);\n\n _this._webSocket = webSocket;\n opened = true;\n resolve();\n };\n\n webSocket.onerror = event => {\n let error = null; // ErrorEvent is a browser only type we need to check if the type exists before using it\n\n if (typeof ErrorEvent !== \"undefined\" && event instanceof ErrorEvent) {\n error = event.error;\n } else {\n error = \"There was an error with the transport\";\n }\n\n _this._logger.log(LogLevel.Information, `(WebSockets transport) ${error}.`);\n };\n\n webSocket.onmessage = message => {\n _this._logger.log(LogLevel.Trace, `(WebSockets transport) data received. ${getDataDetail(message.data, _this._logMessageContent)}.`);\n\n if (_this.onreceive) {\n try {\n _this.onreceive(message.data);\n } catch (error) {\n _this._close(error);\n\n return;\n }\n }\n };\n\n webSocket.onclose = event => {\n // Don't call close handler if connection was never established\n // We'll reject the connect call instead\n if (opened) {\n _this._close(event);\n } else {\n let error = null; // ErrorEvent is a browser only type we need to check if the type exists before using it\n\n if (typeof ErrorEvent !== \"undefined\" && event instanceof ErrorEvent) {\n error = event.error;\n } else {\n error = \"WebSocket failed to connect. The connection could not be found on the server,\" + \" either the endpoint may not be a SignalR endpoint,\" + \" the connection ID is not present on the server, or there is a proxy blocking WebSockets.\" + \" If you have multiple servers check that sticky sessions are enabled.\";\n }\n\n reject(new Error(error));\n }\n };\n });\n })();\n }\n\n send(data) {\n if (this._webSocket && this._webSocket.readyState === this._webSocketConstructor.OPEN) {\n this._logger.log(LogLevel.Trace, `(WebSockets transport) sending data. ${getDataDetail(data, this._logMessageContent)}.`);\n\n this._webSocket.send(data);\n\n return Promise.resolve();\n }\n\n return Promise.reject(\"WebSocket is not in the OPEN state\");\n }\n\n stop() {\n if (this._webSocket) {\n // Manually invoke onclose callback inline so we know the HttpConnection was closed properly before returning\n // This also solves an issue where websocket.onclose could take 18+ seconds to trigger during network disconnects\n this._close(undefined);\n }\n\n return Promise.resolve();\n }\n\n _close(event) {\n // webSocket will be null if the transport did not start successfully\n if (this._webSocket) {\n // Clear websocket handlers because we are considering the socket closed now\n this._webSocket.onclose = () => {};\n\n this._webSocket.onmessage = () => {};\n\n this._webSocket.onerror = () => {};\n\n this._webSocket.close();\n\n this._webSocket = undefined;\n }\n\n this._logger.log(LogLevel.Trace, \"(WebSockets transport) socket closed.\");\n\n if (this.onclose) {\n if (this._isCloseEvent(event) && (event.wasClean === false || event.code !== 1000)) {\n this.onclose(new Error(`WebSocket closed with status code: ${event.code} (${event.reason || \"no reason given\"}).`));\n } else if (event instanceof Error) {\n this.onclose(event);\n } else {\n this.onclose();\n }\n }\n }\n\n _isCloseEvent(event) {\n return event && typeof event.wasClean === \"boolean\" && typeof event.code === \"number\";\n }\n\n}","map":{"version":3,"sources":["/Users/gnezim/_projects/tims/flights_web_raw/Aeroflot.Flights.Web/apps/angular/node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js"],"names":["HeaderNames","LogLevel","TransferFormat","Arg","getDataDetail","getUserAgentHeader","Platform","WebSocketTransport","constructor","httpClient","accessTokenFactory","logger","logMessageContent","webSocketConstructor","headers","_logger","_accessTokenFactory","_logMessageContent","_webSocketConstructor","_httpClient","onreceive","onclose","_headers","connect","url","transferFormat","isRequired","isIn","log","Trace","token","Promise","resolve","reject","replace","webSocket","cookies","getCookieString","opened","isNode","isReactNative","name","value","Authorization","Cookie","undefined","indexOf","encodeURIComponent","Binary","binaryType","onopen","_event","Information","_webSocket","onerror","event","error","ErrorEvent","onmessage","message","data","_close","Error","send","readyState","OPEN","stop","close","_isCloseEvent","wasClean","code","reason"],"mappings":"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","sourcesContent":["// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { HeaderNames } from \"./HeaderNames\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, getUserAgentHeader, Platform } from \"./Utils\";\r\n/** @private */\r\nexport class WebSocketTransport {\r\n constructor(httpClient, accessTokenFactory, logger, logMessageContent, webSocketConstructor, headers) {\r\n this._logger = logger;\r\n this._accessTokenFactory = accessTokenFactory;\r\n this._logMessageContent = logMessageContent;\r\n this._webSocketConstructor = webSocketConstructor;\r\n this._httpClient = httpClient;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n this._headers = headers;\r\n }\r\n async connect(url, transferFormat) {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this._logger.log(LogLevel.Trace, \"(WebSockets transport) Connecting.\");\r\n let token;\r\n if (this._accessTokenFactory) {\r\n token = await this._accessTokenFactory();\r\n }\r\n return new Promise((resolve, reject) => {\r\n url = url.replace(/^http/, \"ws\");\r\n let webSocket;\r\n const cookies = this._httpClient.getCookieString(url);\r\n let opened = false;\r\n if (Platform.isNode || Platform.isReactNative) {\r\n const headers = {};\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n if (token) {\r\n headers[HeaderNames.Authorization] = `Bearer ${token}`;\r\n }\r\n if (cookies) {\r\n headers[HeaderNames.Cookie] = cookies;\r\n }\r\n // Only pass headers when in non-browser environments\r\n webSocket = new this._webSocketConstructor(url, undefined, {\r\n headers: { ...headers, ...this._headers },\r\n });\r\n }\r\n else {\r\n if (token) {\r\n url += (url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + `access_token=${encodeURIComponent(token)}`;\r\n }\r\n }\r\n if (!webSocket) {\r\n // Chrome is not happy with passing 'undefined' as protocol\r\n webSocket = new this._webSocketConstructor(url);\r\n }\r\n if (transferFormat === TransferFormat.Binary) {\r\n webSocket.binaryType = \"arraybuffer\";\r\n }\r\n webSocket.onopen = (_event) => {\r\n this._logger.log(LogLevel.Information, `WebSocket connected to ${url}.`);\r\n this._webSocket = webSocket;\r\n opened = true;\r\n resolve();\r\n };\r\n webSocket.onerror = (event) => {\r\n let error = null;\r\n // ErrorEvent is a browser only type we need to check if the type exists before using it\r\n if (typeof ErrorEvent !== \"undefined\" && event instanceof ErrorEvent) {\r\n error = event.error;\r\n }\r\n else {\r\n error = \"There was an error with the transport\";\r\n }\r\n this._logger.log(LogLevel.Information, `(WebSockets transport) ${error}.`);\r\n };\r\n webSocket.onmessage = (message) => {\r\n this._logger.log(LogLevel.Trace, `(WebSockets transport) data received. ${getDataDetail(message.data, this._logMessageContent)}.`);\r\n if (this.onreceive) {\r\n try {\r\n this.onreceive(message.data);\r\n }\r\n catch (error) {\r\n this._close(error);\r\n return;\r\n }\r\n }\r\n };\r\n webSocket.onclose = (event) => {\r\n // Don't call close handler if connection was never established\r\n // We'll reject the connect call instead\r\n if (opened) {\r\n this._close(event);\r\n }\r\n else {\r\n let error = null;\r\n // ErrorEvent is a browser only type we need to check if the type exists before using it\r\n if (typeof ErrorEvent !== \"undefined\" && event instanceof ErrorEvent) {\r\n error = event.error;\r\n }\r\n else {\r\n error = \"WebSocket failed to connect. The connection could not be found on the server,\"\r\n + \" either the endpoint may not be a SignalR endpoint,\"\r\n + \" the connection ID is not present on the server, or there is a proxy blocking WebSockets.\"\r\n + \" If you have multiple servers check that sticky sessions are enabled.\";\r\n }\r\n reject(new Error(error));\r\n }\r\n };\r\n });\r\n }\r\n send(data) {\r\n if (this._webSocket && this._webSocket.readyState === this._webSocketConstructor.OPEN) {\r\n this._logger.log(LogLevel.Trace, `(WebSockets transport) sending data. ${getDataDetail(data, this._logMessageContent)}.`);\r\n this._webSocket.send(data);\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(\"WebSocket is not in the OPEN state\");\r\n }\r\n stop() {\r\n if (this._webSocket) {\r\n // Manually invoke onclose callback inline so we know the HttpConnection was closed properly before returning\r\n // This also solves an issue where websocket.onclose could take 18+ seconds to trigger during network disconnects\r\n this._close(undefined);\r\n }\r\n return Promise.resolve();\r\n }\r\n _close(event) {\r\n // webSocket will be null if the transport did not start successfully\r\n if (this._webSocket) {\r\n // Clear websocket handlers because we are considering the socket closed now\r\n this._webSocket.onclose = () => { };\r\n this._webSocket.onmessage = () => { };\r\n this._webSocket.onerror = () => { };\r\n this._webSocket.close();\r\n this._webSocket = undefined;\r\n }\r\n this._logger.log(LogLevel.Trace, \"(WebSockets transport) socket closed.\");\r\n if (this.onclose) {\r\n if (this._isCloseEvent(event) && (event.wasClean === false || event.code !== 1000)) {\r\n this.onclose(new Error(`WebSocket closed with status code: ${event.code} (${event.reason || \"no reason given\"}).`));\r\n }\r\n else if (event instanceof Error) {\r\n this.onclose(event);\r\n }\r\n else {\r\n this.onclose();\r\n }\r\n }\r\n }\r\n _isCloseEvent(event) {\r\n return event && typeof event.wasClean === \"boolean\" && typeof event.code === \"number\";\r\n }\r\n}\r\n"]},"metadata":{},"sourceType":"module"}