UNPKG

@hoppscotch/httpsnippet

Version:

HTTP Request snippet generator for *most* languages

63 lines 2.76 kB
"use strict"; exports.__esModule = true; exports.generatePowershellConvert = void 0; var code_builder_1 = require("../../helpers/code-builder"); var escape_1 = require("../../helpers/escape"); var headers_1 = require("../../helpers/headers"); var generatePowershellConvert = function (command) { var convert = function (_a) { var method = _a.method, headersObj = _a.headersObj, cookies = _a.cookies, uriObj = _a.uriObj, fullUrl = _a.fullUrl, postData = _a.postData, allHeaders = _a.allHeaders; var _b = new code_builder_1.CodeBuilder(), push = _b.push, join = _b.join; var methods = [ 'DEFAULT', 'DELETE', 'GET', 'HEAD', 'MERGE', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'TRACE', ]; var methodArg = methods.includes(method.toUpperCase()) ? '-Method' : '-CustomMethod'; var commandOptions = []; // Add headers, including the cookies var headers = Object.keys(headersObj); // construct headers if (headers.length) { push('$headers=@{}'); headers.forEach(function (key) { if (key !== 'connection') { // Not allowed push("$headers.Add(\"".concat(key, "\", \"").concat((0, escape_1.escapeString)(headersObj[key], { escapeChar: '`' }), "\")")); } }); commandOptions.push('-Headers $headers'); } // construct cookies if (cookies.length) { push('$session = New-Object Microsoft.PowerShell.Commands.WebRequestSession'); cookies.forEach(function (cookie) { push('$cookie = New-Object System.Net.Cookie'); push("$cookie.Name = '".concat(cookie.name, "'")); push("$cookie.Value = '".concat(cookie.value, "'")); push("$cookie.Domain = '".concat(uriObj.host, "'")); push('$session.Cookies.Add($cookie)'); }); commandOptions.push('-WebSession $session'); } if (postData.text) { commandOptions.push("-ContentType '".concat((0, escape_1.escapeString)((0, headers_1.getHeader)(allHeaders, 'content-type'), { delimiter: "'", escapeChar: '`' }), "'")); commandOptions.push("-Body '".concat(postData.text, "'")); } push("$response = ".concat(command, " -Uri '").concat(fullUrl, "' ").concat(methodArg, " ").concat(method, " ").concat(commandOptions.join(' '))); return join(); }; return convert; }; exports.generatePowershellConvert = generatePowershellConvert; //# sourceMappingURL=common.js.map