XD2Sketch / react-chat-stream

⚛️ React Hook to add 🤖 ChatGPT-like word-by-word event streams
https://www.npmjs.com/package/@magicul/react-chat-stream
MIT License
55 stars 10 forks source link

input.method parameter is not used in getstream() #25

Open Sheldenburg opened 7 months ago

Sheldenburg commented 7 months ago

Hi, Thanks for creating this repo! Very useful for any react Chat interface. I found the method parameter seems a bit redundant. In the example code, you have something like this below.

options: { url: 'http://127.0.0.1:8000/chat', method: 'POST', headers:{ 'Accept': 'application/json' }, body: { 'query': 'Hello! how are you' } }, method: { type: 'body', key: 'query' }, }

However, in the getStream function below, only the 'options' parameter is used.

export const getStream = async (input: string, options: UseChatStreamHttpOptions, method: UseChatStreamInputMethod) => { options = mergeInputInOptions(input, options, method);

const params = '?' + new URLSearchParams(options.query).toString();

const response = await fetch(options.url + params, { method: options.method, headers: { ...DEFAULT_HEADERS, ...options.headers }, body: JSON.stringify(options.body, (_k, v) => v === null ? undefined : v) });

if (!response.ok) throw new Error(response.statusText);

return response.body; };

niels-bosman commented 4 months ago

@Sheldenburg You can see we use options.method as the method. Does this not work for you?

Sheldenburg commented 4 months ago

@Sheldenburg You can see we use options.method as the method. Does this not work for you?

Yes, it does. But in the type definition, you also have 'method' outside of options. This one has never got used.

options: { url: 'http://127.0.0.1:8000/chat', method: 'POST', headers:{ 'Accept': 'application/json' }, body: { 'query': 'Hello! how are you' } }, method: { type: 'body', key: 'query' }, }