Мне нужно создать auth ha sh для вызова веб-API в моем сценарии предварительного запроса Postman. Моя коллекция хранит URL-адрес службы в переменной уровня коллекции с именем baseUrl
. Значение этой переменной - http://api-server.local
К сожалению, переменная baseUrl
не раскрывается, когда я пытаюсь напрямую использовать ее из pm.request.url
. Я возвращаю значение {{baseUrl}}
в свойстве host
pm.request.url
в моем сценарии предварительного запроса.
Я предполагаю, что оценка происходит позже в конвейере создания запроса.
Итак, я добавил новую переменную в свою коллекцию под названием baseUrlHost
со значением api-server.local
. Я намеревался использовать эту новую переменную для правильной установки хоста в моем auth ha sh.
Вместо того, чтобы делать полную замену строк, я бы предпочел создать новый объект Url
. Согласно документации Postman , доступен модуль Url Node.js. Однако когда я создаю объект Url
, он в основном полон нулевых свойств.
var Url = require('url').Url;
//another variation of the above...
//const {Url } = require('url')
var collectionBaseUrl = pm.collectionVariables.get("baseUrl")
console.log('base url from collection: ', collectionBaseUrl);
//base url from collection should be : http://api-server.local
var baseUrl = new Url(collectionBaseUrl);
console.log('base url ctor: ', baseUrl);
Вот результат ...
base url ctor:
{protocol: null, slashes: null, auth: null…}
protocol: null
slashes: null
auth: null
host: null
port: null
hostname: null
hash: null
search: null
query: null
pathname: null
path: null
href: null
Что мне делать иначе, чтобы правильно инициализировать объект Url?