UNPKG

fumadocs-openapi

Version:

Generate MDX docs for your OpenAPI spec

39 lines (34 loc) 1.37 kB
'use client'; import { resolveMediaAdapter } from "../media/resolve-adapter.js"; import "../media/adapter.js"; import { generatePythonObject } from "../to-python-object.js"; //#region src/requests/generators/python.ts const generator = (url, data, { mediaAdapters }) => { const headers = {}; const imports = /* @__PURE__ */ new Set(); const params = [`"${data.method}"`, "url"]; let body; imports.add("requests"); if (data.body && data.bodyMediaType) { const adapter = resolveMediaAdapter(data.bodyMediaType, mediaAdapters); headers["Content-Type"] = data.bodyMediaType; body = adapter?.generateExample(data, { lang: "python" }); if (body) params.push("data = body"); } for (const [k, v] of Object.entries(data.header)) headers[k] = v.value; if (Object.keys(headers).length > 0) params.push(`headers = ${generatePythonObject(headers, imports)}`); const inputCookies = Object.entries(data.cookie); if (inputCookies.length > 0) { const cookies = {}; for (const [k, v] of inputCookies) cookies[k] = v.value; params.push(`cookies = ${generatePythonObject(cookies, imports)}`); } return `${Array.from(imports).map((name) => "import " + name).join("\n")} url = ${JSON.stringify(url)} ${body ?? ""} response = requests.request(${params.join(", ")}) print(response.text)`; }; //#endregion export { generator }; //# sourceMappingURL=python.js.map