import { readFile } from '@tauri-apps/plugin-fs'; import type { HttpResponse } from '@yaakapp-internal/models'; import type { FilterResponse } from '@yaakapp-internal/plugins'; import type { ServerSentEvent } from '@yaakapp-internal/sse'; import { invokeCmd } from './tauri'; export async function getResponseBodyText({ response, filter, }: { response: HttpResponse; filter: string | null; }): Promise { const result = await invokeCmd('cmd_http_response_body', { response, filter, }); if (result.error) { throw new Error(result.error); } return result.content; } export async function getResponseBodyEventSource( response: HttpResponse, ): Promise { if (!response.bodyPath) return []; return invokeCmd('cmd_get_sse_events', { filePath: response.bodyPath, }); } export async function getResponseBodyBytes( response: HttpResponse, ): Promise | null> { if (!response.bodyPath) return null; return readFile(response.bodyPath); }