e2ed
Version:
E2E testing framework over Playwright
41 lines (40 loc) • 1.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getPreparedOptions = void 0;
const node_url_1 = require("node:url");
const getDurationWithUnits_1 = require("../getDurationWithUnits");
const http_1 = require("../http");
const object_1 = require("../object");
/**
* Get prepared `request` options by it's arguments.
* @internal
*/
const getPreparedOptions = (Route, { requestHeaders, requestBody, routeParams, timeout }) => {
const route = new Route(...[routeParams]);
const method = route.getMethod();
const isRequestBodyInJsonFormat = route.getIsRequestBodyInJsonFormat();
const isResponseBodyInJsonFormat = route.getIsResponseBodyInJsonFormat();
const url = route.getUrl();
const urlObject = new node_url_1.URL(url);
const timeoutWithUnits = (0, getDurationWithUnits_1.getDurationWithUnits)(timeout);
const logParams = {
cause: undefined,
method,
requestBody,
requestHeaders,
retry: undefined,
timeoutWithUnits,
url,
};
const requestBodyAsString = (0, http_1.getBodyAsString)(requestBody, isRequestBodyInJsonFormat);
const options = {
method,
requestHeaders: {
...(0, http_1.getContentJsonHeaders)(requestBodyAsString),
...requestHeaders,
},
};
(0, object_1.setReadonlyProperty)(logParams, 'requestHeaders', options.requestHeaders);
return { isResponseBodyInJsonFormat, logParams, options, requestBodyAsString, url, urlObject };
};
exports.getPreparedOptions = getPreparedOptions;