* fix error messages display.

This commit is contained in:
Chenjianyu
2023-08-30 15:16:21 +08:00
parent 3cbfb56c63
commit 078d3cfd60
+23 -11
View File
@@ -61,7 +61,7 @@ class aiModel extends model
* @param mixed $data data to send
* @param int $timeout request timeout in seconds
* @access private
* @return mixed false if error, json string if success
* @return object response object, three properties: result, message (if fail), content(if success).
*/
private function makeRequest($type, $data, $timeout = 10)
{
@@ -117,10 +117,21 @@ class aiModel extends model
}
}
if(curl_errno($ch)) return false;
curl_close($ch);
$response = new stdclass();
return $result;
if(!$result || curl_errno($ch))
{
$response->result = 'fail';
$response->message = curl_error($ch);
}
else
{
$response->result = 'success';
$response->content = $result;
}
curl_close($ch);
return $response;
}
/**
@@ -196,13 +207,19 @@ class aiModel extends model
/**
* Decode response from OpenAI API, add error to $this->errors if any.
*
* @param string $response json string
* @param object $response response object
* @access private
* @return mixed false if error, json object if success
*/
private function decodeResponse($response)
{
$response = json_decode($response);
if($response->result === 'fail')
{
$this->errors[] = empty($response->message) ? 'Unknown error' : $response->message;
return false;
}
$response = json_decode($response->content);
if(json_last_error())
{
/* Polyfill for PHP 5 < 5.5.0. */
@@ -225,11 +242,6 @@ class aiModel extends model
$this->errors[] = 'JSON decode error: ' . json_last_error_msg();
return false;
}
if(isset($response->error))
{
$this->errors[] = isset($response->error->message) ? $response->error->message : 'Unknown error';
return false;
}
return $response;
}