From b76d33d9384cd5b8ac4dd630ca01933488b914ee Mon Sep 17 00:00:00 2001 From: ikechan8370 Date: Tue, 14 May 2024 23:52:26 +0800 Subject: [PATCH] fix: add retry for api3 --- client/OpenAILikeClient.js | 0 utils/message.js | 30 +++++++++++++++++++----------- 2 files changed, 19 insertions(+), 11 deletions(-) create mode 100644 client/OpenAILikeClient.js diff --git a/client/OpenAILikeClient.js b/client/OpenAILikeClient.js new file mode 100644 index 00000000..e69de29b diff --git a/utils/message.js b/utils/message.js index 94040f23..8f13d016 100644 --- a/utils/message.js +++ b/utils/message.js @@ -15,7 +15,10 @@ export class OfficialChatGPTClient { this._apiReverseUrl = apiReverseUrl } - async sendMessage (prompt, opts = {}) { + async sendMessage (prompt, opts = {}, retry = 3) { + if (retry < 0) { + throw new Error('retry limit exceeded') + } let { conversationId, parentMessageId = uuidv4(), @@ -143,17 +146,22 @@ export class OfficialChatGPTClient { req.write(JSON.stringify(body)) req.end() }) - const response = await requestP - if (statusCode === 200) { - return { - text: response.response, - conversationId: response.conversationId, - id: response.messageId, - parentMessageId + try { + const response = await requestP + if (statusCode === 200) { + return { + text: response.response, + conversationId: response.conversationId, + id: response.messageId, + parentMessageId + } + } else { + console.log(response) + throw new Error(response) } - } else { - console.log(response) - throw new Error(response) + } catch (err) { + logger.warn(err) + return await this.sendMessage(prompt, opts, retry - 1) } } }