fix http response load when filter (#251)

This commit is contained in:
Hao Xiang
2025-09-17 04:01:00 +08:00
committed by GitHub
parent 8c3ed60579
commit fec64b5c02
11 changed files with 97 additions and 102 deletions

View File

@@ -1,31 +0,0 @@
import { useQuery } from '@tanstack/react-query';
import type { FilterResponse } from '@yaakapp-internal/plugins';
import { invokeCmd } from '../lib/tauri';
export function useFilterResponse({
responseId,
filter,
}: {
responseId: string | null;
filter: string;
}) {
return useQuery({
queryKey: ['filter_response', responseId, filter],
queryFn: async () => {
if (filter === '') {
return null;
}
const result = (await invokeCmd('cmd_filter_response', {
responseId,
filter,
})) as FilterResponse;
if (result.error) {
console.log("Failed to filter response:", result.error);
}
return result;
},
});
}

View File

@@ -1,12 +0,0 @@
import { useQuery } from '@tanstack/react-query';
import type { HttpResponse } from '@yaakapp-internal/models';
import { getResponseBodyBlob } from '../lib/responseBody';
export function useResponseBodyBlob(response: HttpResponse) {
return useQuery<Uint8Array | null>({
enabled: response != null,
queryKey: ['response-body-binary', response?.updatedAt],
initialData: null,
queryFn: () => getResponseBodyBlob(response),
}).data;
}

View File

@@ -1,11 +1,15 @@
import { useQuery } from '@tanstack/react-query';
import type { HttpResponse } from '@yaakapp-internal/models';
import { getResponseBodyText } from '../lib/responseBody';
export function useResponseBodyText(response: HttpResponse) {
export function useResponseBodyText({
responseId,
filter,
}: {
responseId: string;
filter: string | null;
}) {
return useQuery({
placeholderData: (prev) => prev, // Keep previous data on refetch
queryKey: ['response-body-text', response.id, response.updatedAt, response.contentLength],
queryFn: () => getResponseBodyText(response),
queryKey: ['response_body_text', responseId, filter ?? ''],
queryFn: () => getResponseBodyText({ responseId, filter }),
});
}