Skip to content

Commit

Permalink
#108 - load request bodies via stream
Browse files Browse the repository at this point in the history
  • Loading branch information
SoulKa committed Oct 31, 2024
1 parent 22b14df commit c1bb14c
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 15 deletions.
9 changes: 3 additions & 6 deletions src/renderer/components/mainWindow/bodyTabs/OutputTabs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -54,12 +54,9 @@ export function OutputTabs(props: OutputTabsProps) {
editor.setValue('');
} else {
editor.setValue('');
IpcPushStream.open(response.bodyFilePath).then((stream) => {
const data = [] as string[];
stream.on('data', (chunk) => data.push(chunk));
stream.on('end', () => editor?.setValue(data.join('')));
stream.on('error', (error) => console.error('Error reading response body:', error));
});
IpcPushStream.open(response.bodyFilePath)
.then((stream) => IpcPushStream.collect(stream))
.then((content) => editor.setValue(content));
}
}, [response?.bodyFilePath, editor]);

Expand Down
21 changes: 12 additions & 9 deletions src/renderer/components/sidebar/SidebarRequestList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ import { AppDispatch, RootState } from '@/state/store';
import { deleteRequest, setSelectedRequest } from '@/state/requestsSlice';
import { httpMethodColor } from '@/services/StyleHelper';
import { RequestBodyType, RufusRequest } from 'shim/objects/request';
import { FaTimes } from 'react-icons/fa'; // Importing cross icon
import { FaTimes } from 'react-icons/fa';
import { RendererEventService } from '@/services/event/renderer-event-service';
import { MouseEvent, useCallback, useEffect } from 'react';
import { IpcPushStream } from '@/lib/ipc-stream';

interface SidebarRequestListProps {
requests: RufusRequest[];
Expand All @@ -20,17 +21,19 @@ export const SidebarRequestList = ({ requests = [] }: SidebarRequestListProps) =
const request: RufusRequest | undefined = requests[selectedRequestIndex];

useEffect(() => {
const model = requestEditor?.getModel();
if (model == null) {
if (requestEditor == null) {
return;
}

if (request?.body?.type === RequestBodyType.TEXT) {
eventService.loadTextRequestBody(request).then((content) => model.setValue(content));
} else if (request?.body?.type === RequestBodyType.TEXT) {
IpcPushStream.open(request)
.then((stream) => IpcPushStream.collect(stream))
.then((content) => {
console.log(content);
requestEditor.setValue(content);
});
} else {
model.setValue('');
requestEditor.setValue('');
}
}, [request?.id, requestEditor?.getModel()]);
}, [request?.id, requestEditor]);

const handleRowClick = useCallback(
async (index: number) => {
Expand Down

0 comments on commit c1bb14c

Please sign in to comment.