fix: fix quota not return when error occurred (close #518)

This commit is contained in:
JustSong 2023-09-13 21:50:45 +08:00
parent d0a0e871e1
commit 01863d3e44

View File

@ -347,6 +347,13 @@ func relayTextHelper(c *gin.Context, relayMode int) *OpenAIErrorWithStatusCode {
isStream = isStream || strings.HasPrefix(resp.Header.Get("Content-Type"), "text/event-stream")
if resp.StatusCode != http.StatusOK {
go func() {
// return pre-consumed quota
err := model.PostConsumeTokenQuota(tokenId, -preConsumedQuota)
if err != nil {
common.SysError("error return pre-consumed quota: " + err.Error())
}
}()
return relayErrorHandler(resp)
}
}