test-openapi
Version:
Automated client requests
96 lines (62 loc) • 2.22 kB
JavaScript
;require("core-js/modules/es.promise");Object.defineProperty(exports,"__esModule",{value:true});exports.serialize=void 0;var _lodash=require("lodash");
var _flat=require("../../../../utils/flat.js");
var _location=require("../../../../utils/location.js");
var _body=require("../../body.js");
var _content_type=require("./content_type.js");
var _method=require("./method.js");
var _user_agent=require("./user_agent.js");
var _extra_headers=require("./extra_headers.js");
const serialize=async function({call}){
if(call===undefined){
return;
}
const callA=await normalizeCall({call});
const request=(0,_extra_headers.addFetchRequestHeaders)({call:callA});
const requestA=(0,_lodash.omitBy)(request,value=>value===undefined);
const rawRequest=(0,_lodash.mapValues)(requestA,stringifyParam);
const{request:requestB,rawRequest:rawRequestA}=(0,_extra_headers.addContentLength)({
request:requestA,
rawRequest});
return{call:{...call,request:requestB,rawRequest:rawRequestA}};
};exports.serialize=serialize;
const normalizeCall=async function({call}){
const callA=(0,_content_type.normalizeContentType)({call});
const callB=(0,_method.normalizeMethod)({call:callA});
const callC=await(0,_user_agent.normalizeUserAgent)({call:callB});
const callD=normalizeTimeout({call:callC});
return callD;
};
const normalizeTimeout=function({
call:{timeout=DEFAULT_TIMEOUT,...call}})
{
return{...call,timeout};
};
const DEFAULT_TIMEOUT=1e6;
const stringifyParam=function(value,key,call){
const{location}=(0,_location.keyToLocation)({key});
return PARAM_STRINGIFIERS[location]({value,call});
};
const stringifyParamFlat=function({value}){
return(0,_flat.stringifyFlat)(value);
};
const stringifyBody=function({
value,
call:{"headers.content-type":contentType}})
{
const{stringify=_flat.stringifyFlat}=(0,_body.findBodyHandler)({mime:contentType});
return stringify(value);
};
const keepAsIs=function({value}){
return value;
};
const PARAM_STRINGIFIERS={
method:stringifyParamFlat,
server:stringifyParamFlat,
path:stringifyParamFlat,
url:stringifyParamFlat,
query:stringifyParamFlat,
headers:stringifyParamFlat,
body:stringifyBody,
timeout:keepAsIs,
https:keepAsIs};
//# sourceMappingURL=main.js.map