@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
1 lines • 4.95 kB
Source Map (JSON)
{"version":3,"sources":["../../../packages/core/data/gateway-url-translator.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,MAAM,CAAC,YAAY,CAOzB;IACF;;;;;;OAMG;WACW,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc;IA4BpD,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAazC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAalC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAalC,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAa3C,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAanC,OAAO,CAAC,MAAM,CAAC,uBAAuB;CAYzC","file":"gateway-url-translator.d.ts","sourcesContent":["import { Net } from './net';\r\n\r\nexport interface UrlTranslation {\r\n newUrl: string;\r\n startUrl: string;\r\n}\r\n\r\nexport class GatewayUrlTranslator {\r\n private static translations = {\r\n powerShellTranslationMatcher: /features\\/powershellApi\\/(.*)/,\r\n cimTranslationMatcher: /features\\/cim\\/(.*)/,\r\n wdacMatcher: /features\\/wdac\\/(.*)/,\r\n jeaMatcher: /features\\/jea\\/(.*)/,\r\n fileTransferMatcher: /features\\/fileTransfer\\/(.*)/,\r\n counterMatcher: /counter\\/(.*)/\r\n };\r\n /**\r\n * Given url return a gateway v2 translation object that will work well with\r\n * nodes/node api.\r\n *\r\n * @param url a gateway v1 url\r\n * @returns\r\n */\r\n public static translate(url: string): UrlTranslation {\r\n if (this.translations.powerShellTranslationMatcher.test(url)) {\r\n return this.translatePowerShellRequest(url);\r\n }\r\n\r\n if (this.translations.cimTranslationMatcher.test(url)) {\r\n return this.translateCimRequest(url);\r\n }\r\n\r\n if (this.translations.jeaMatcher.test(url)) {\r\n return this.translateJeaRequest(url);\r\n }\r\n\r\n if (this.translations.wdacMatcher.test(url)) {\r\n return this.translateWdacRequest(url);\r\n }\r\n\r\n if (this.translations.fileTransferMatcher.test(url)) {\r\n return this.translateFileTransferRequest(url);\r\n }\r\n\r\n if (this.translations.counterMatcher.test(url)) {\r\n return this.translateCounterRequest(url);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private static translatePowerShellRequest(url: string): UrlTranslation {\r\n const matches = url.match(this.translations.powerShellTranslationMatcher);\r\n if (matches) {\r\n const restOfString = matches[1];\r\n return {\r\n newUrl: restOfString,\r\n startUrl: `services/${Net.serviceWinRest}/${Net.controllerPowerShell}`\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private static translateCimRequest(url: string): UrlTranslation {\r\n const matches = url.match(this.translations.cimTranslationMatcher);\r\n if (matches) {\r\n const restOfString = matches[1];\r\n return {\r\n newUrl: restOfString,\r\n startUrl: `services/${Net.serviceWinRest}/${Net.controllerCim}`\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private static translateJeaRequest(url: string): UrlTranslation {\r\n const matches = url.match(this.translations.jeaMatcher);\r\n if (matches) {\r\n const restOfString = matches[1];\r\n return {\r\n newUrl: restOfString,\r\n startUrl: `services/${Net.serviceWinRest}/${Net.controllerJea}`\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private static translateFileTransferRequest(url: string): UrlTranslation {\r\n const matches = url.match(this.translations.fileTransferMatcher);\r\n if (matches) {\r\n const restOfString = matches[1];\r\n return {\r\n newUrl: restOfString,\r\n startUrl: `services/${Net.serviceWinRest}/${Net.controllerFileTransfer}`\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private static translateWdacRequest(url: string): UrlTranslation {\r\n const matches = url.match(this.translations.wdacMatcher);\r\n if (matches) {\r\n const restOfString = matches[1];\r\n return {\r\n newUrl: restOfString,\r\n startUrl: `services/${Net.serviceWinRest}/${Net.controllerWdac}`\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private static translateCounterRequest(url: string): UrlTranslation {\r\n const matches = url.match(this.translations.counterMatcher);\r\n if (matches) {\r\n const restOfString = matches[1];\r\n return {\r\n newUrl: restOfString,\r\n startUrl: `services/${Net.serviceWinRest}/${Net.controllerPerformanceCounter}`\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n"]}