Improved error handling
This commit is contained in:
@@ -42,5 +42,5 @@
|
|||||||
"manifest_version": 3,
|
"manifest_version": 3,
|
||||||
"name": "LeafLLM",
|
"name": "LeafLLM",
|
||||||
"homepage_url": "https://github.com/achiyae/LeafLLM",
|
"homepage_url": "https://github.com/achiyae/LeafLLM",
|
||||||
"version": "1.3.1"
|
"version": "1.3.2"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,15 +18,26 @@ class OpenAIAPI {
|
|||||||
xhr.open('POST', url, true)
|
xhr.open('POST', url, true)
|
||||||
xhr.setRequestHeader('Content-Type', 'application/json')
|
xhr.setRequestHeader('Content-Type', 'application/json')
|
||||||
xhr.setRequestHeader('Authorization', `Bearer ${this.apiKey}`)
|
xhr.setRequestHeader('Authorization', `Bearer ${this.apiKey}`)
|
||||||
xhr.onreadystatechange = function () {
|
xhr.onerror = function () {
|
||||||
if (xhr.readyState !== 4) return
|
reject('Failed to query OpenAI API: network error.')
|
||||||
if (xhr.status !== 200) return reject('Failed to query OpenAI API.')
|
}
|
||||||
|
xhr.onload = function () {
|
||||||
const jsonResponse = JSON.parse(xhr.responseText)
|
if (xhr.status === 200) {
|
||||||
|
let jsonResponse
|
||||||
if (!jsonResponse.choices) return reject('Failed to query OpenAI API.')
|
try {
|
||||||
|
jsonResponse = JSON.parse(xhr.responseText)
|
||||||
return resolve(jsonResponse.choices)
|
} catch (e) {
|
||||||
|
reject('Failed to query OpenAI API, cannot parse response:\n' + e + '\n' + xhr.responseText)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (jsonResponse.hasOwnProperty('choices')) {
|
||||||
|
resolve(jsonResponse.choices)
|
||||||
|
} else {
|
||||||
|
reject('Failed to query OpenAI API: invalid response: ' + jsonResponse)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
reject('Failed to query OpenAI API: invalid status: ' + xhr.status + ' - ' + xhr.responseText)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
xhr.send(JSON.stringify(data))
|
xhr.send(JSON.stringify(data))
|
||||||
@@ -156,10 +167,7 @@ function handleCommand(command) {
|
|||||||
|
|
||||||
function error(msg, error) {
|
function error(msg, error) {
|
||||||
if(error) {
|
if(error) {
|
||||||
msg += ` Error message: ${error.message}`
|
msg += ` Error message: ${JSON.stringify(error)}`
|
||||||
if(error.cause) {
|
|
||||||
console.error(`\nCause: ${JSON.stringify(error.cause)}`)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
customAlert(msg)
|
customAlert(msg)
|
||||||
console.error(`LeafLLM: ${msg}`)
|
console.error(`LeafLLM: ${msg}`)
|
||||||
|
|||||||
Reference in New Issue
Block a user