in tools/awps-tunnel/client/src/components/api/Parameters.tsx [298:332]
function getTryItModel(parameter: Parameter[], example: Example): TryItModel {
let m: TryItModel = { hasParameter: false };
parameter.forEach(element => {
const i = { value: element.default ?? "", type: element.type ?? "object", required: element.required ?? false, name: element.name, description: element.description, parameterDefinition: element };
if (element.in === "body" || element.in === "formData") {
m.body = i;
if (!i.value && example) {
// find the example data
const exampleData = example.parameters[i.name];
if (exampleData) {
i.value = JSON.stringify(exampleData, null, 2);
}
}
} else if (element.in === "path") {
if (!isKnownParameter(element)) {
// these 2 are known parameters
m.path ??= {};
m.path[element.name] = i;
m.hasParameter = true;
// do not load example data for path
}
} else if (element.in === "query") {
if (!isKnownParameter(element)) {
m.query ??= {};
m.query[element.name] = i;
m.hasParameter = true;
// do not load example data for query
}
} else if (element.in === "header") {
throw new Error("Header parameters are not yet supported");
}
});
console.log(m);
return m;
}