MCPcopy Create free account
hub / github.com/EsperoTech/yaade / generateHTTPSnippet

Function generateHTTPSnippet

client/src/utils/httpsnippet.tsx:26–77  ·  view source on GitHub ↗
(
  request: CurrentRestRequest,
  target: Target,
  client?: string,
  selectedEnvData: Record<string, any> = {},
)

Source from the content-addressed store, hash-verified

24 | 'swift';
25
26function generateHTTPSnippet(
27 request: CurrentRestRequest,
28 target: Target,
29 client?: string,
30 selectedEnvData: Record<string, any> = {},
31): string {
32 const interpolatedResult = interpolate(request, selectedEnvData);
33 const interpolated = (interpolatedResult.result as CurrentRestRequest) ?? request;
34 const postData: any = {};
35 if (interpolated.data.contentType === 'application/x-www-form-urlencoded') {
36 const params = interpolated.data.formDataBody
37 ?.filter((el: any) => el.isEnabled !== false)
38 .map((kv: any) => {
39 return {
40 name: kv.key,
41 value: kv.value,
42 };
43 });
44 postData.params = params;
45 postData.mimeType = 'application/x-www-form-urlencoded';
46 } else if (interpolated.data.contentType) {
47 postData.mimeType = interpolated.data.contentType;
48 postData.text = interpolated.data.body;
49 } else {
50 postData.mimeType = 'text/plain';
51 postData.text = interpolated.data.body;
52 }
53 const headers = interpolated.data.headers
54 ?.filter((el: any) => el.isEnabled !== false)
55 .map((header: any) => {
56 return {
57 name: header.key,
58 value: header.value,
59 };
60 });
61 const uri = interpolated.data.uri ?? 'https://example.com';
62 const url = uri.startsWith('http') ? uri : `http://${uri}`;
63 const opts: any = {
64 method: interpolated.data.method ?? 'GET',
65 url,
66 headers: headers ?? [],
67 };
68 if (opts.method !== 'GET') {
69 opts.postData = postData;
70 }
71 const snippet = new HTTPSnippet(opts);
72 const res = snippet.convert(target, client);
73 if (typeof res !== 'string') {
74 throw new Error('Failed to generate snippet');
75 }
76 return res;
77}
78
79export { generateHTTPSnippet };

Callers 1

GenerateCodeTabFunction · 0.90

Calls 1

interpolateFunction · 0.70

Tested by

no test coverage detected