Simplify error handler
This commit is contained in:
parent
9682a1dcea
commit
9ad8f9f025
|
@ -48,6 +48,7 @@
|
||||||
import { ChatCompletionResponse } from './ChatCompletionResponse.svelte'
|
import { ChatCompletionResponse } from './ChatCompletionResponse.svelte'
|
||||||
import { EventStreamContentType, fetchEventSource } from '@microsoft/fetch-event-source'
|
import { EventStreamContentType, fetchEventSource } from '@microsoft/fetch-event-source'
|
||||||
import { getApiBase, getEndpointCompletions } from './ApiUtil.svelte'
|
import { getApiBase, getEndpointCompletions } from './ApiUtil.svelte'
|
||||||
|
import type { ServerResponse } from 'http'
|
||||||
|
|
||||||
export let params = { chatId: '' }
|
export let params = { chatId: '' }
|
||||||
const chatId: number = parseInt(params.chatId)
|
const chatId: number = parseInt(params.chatId)
|
||||||
|
@ -387,6 +388,17 @@
|
||||||
signal
|
signal
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleError = async (response) => {
|
||||||
|
let errorResponse
|
||||||
|
try {
|
||||||
|
const errObj = await response.json()
|
||||||
|
errorResponse = errObj?.error?.code || 'Unexpected Response'
|
||||||
|
} catch (e) {
|
||||||
|
errorResponse = 'Unknown Response'
|
||||||
|
}
|
||||||
|
throw new Error(`${response.status} - ${errorResponse}`)
|
||||||
|
}
|
||||||
|
|
||||||
// fetchEventSource doesn't seem to throw on abort, so...
|
// fetchEventSource doesn't seem to throw on abort, so...
|
||||||
const abortListener = (e:Event) => {
|
const abortListener = (e:Event) => {
|
||||||
controller = new AbortController()
|
controller = new AbortController()
|
||||||
|
@ -431,14 +443,7 @@
|
||||||
// everything's good
|
// everything's good
|
||||||
} else {
|
} else {
|
||||||
// client-side errors are usually non-retriable:
|
// client-side errors are usually non-retriable:
|
||||||
let errorResponse
|
await handleError(response)
|
||||||
try {
|
|
||||||
const errObj = await response.json()
|
|
||||||
errorResponse = errObj?.error?.code || 'Unexpected Response'
|
|
||||||
} catch (e) {
|
|
||||||
errorResponse = 'Unknown Response'
|
|
||||||
}
|
|
||||||
throw new Error(`${response.status} - ${errorResponse}`)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
|
@ -447,18 +452,10 @@
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
const response = await fetch(getApiBase() + getEndpointCompletions(), fetchOptions)
|
const response = await fetch(getApiBase() + getEndpointCompletions(), fetchOptions)
|
||||||
const json = await response.json()
|
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
// client-side errors are usually non-retriable:
|
await handleError(response)
|
||||||
let errorResponse
|
|
||||||
try {
|
|
||||||
errorResponse = json?.error?.code || 'Unexpected Response'
|
|
||||||
} catch (e) {
|
|
||||||
errorResponse = 'Unknown Response'
|
|
||||||
}
|
|
||||||
throw new Error(`${response.status} - ${errorResponse}`)
|
|
||||||
}
|
}
|
||||||
|
const json = await response.json()
|
||||||
// Remove updating indicator
|
// Remove updating indicator
|
||||||
updating = false
|
updating = false
|
||||||
updatingMessage = ''
|
updatingMessage = ''
|
||||||
|
|
Loading…
Reference in New Issue