diff --git a/pages/search/[id].vue b/pages/search/[id].vue index c0cdb8a5c31e7afc176bf539e36b6b7d995fe707..a438befd52bd3ad9ab571f0c061b772e95c8d03b 100644 --- a/pages/search/[id].vue +++ b/pages/search/[id].vue @@ -244,12 +244,17 @@ const handleStopGenerate = () => { }) } const handleError = (event) => { - console.log('event:', event) + askingData.value = {} handleStopGenerate() if (event) { throw event } } +const handleOpen = (status) => { + if ([401, 403].includes(status)) { + askingData.value = {} + } +} const fetchLinkedQuestion = async (query) => { const { gitPath, id } = state const messages = [] @@ -279,6 +284,7 @@ const generateFetchData = (query) => { } fetchEventSource('/v1/chat/completions', { params , + onopen: handleOpen, onmessage: handleMessage, onerror: handleError, controller: aiChatController diff --git a/utils/fetchEventSource.js b/utils/fetchEventSource.js index 71add05494da01d0ff6ad82cff895bac5cabba8b..31ce8faf9583cc79be9b26486b4e3bee5a21dafe 100644 --- a/utils/fetchEventSource.js +++ b/utils/fetchEventSource.js @@ -1,6 +1,6 @@ import { fetchEventSource } from '@microsoft/fetch-event-source' const BASE_URL = 'https://gpu-pod656e861afe3d944d6b3ce77e-7862.node.inscode.run' -export default (url, { onmessage, onerror, controller, params }) => { +export default (url, { onmessage, onerror, controller, params, onopen }) => { const token = useCookie('token') fetchEventSource(`${BASE_URL}${url}`, { method: 'POST', @@ -13,6 +13,7 @@ export default (url, { onmessage, onerror, controller, params }) => { onopen (response) { const status = response.status useRequestError(status) + onopen(status) }, onmessage (info) { onmessage(info)