@@ -127,29 +127,16 @@ extension OpenAI {
127
127
timeoutInterval: configuration. timeoutInterval)
128
128
let task = session. dataTask ( with: request) { data, _, error in
129
129
if let error = error {
130
- completion ( . failure( error) )
131
- return
130
+ return completion ( . failure( error) )
132
131
}
133
132
guard let data = data else {
134
- completion ( . failure( OpenAIError . emptyData) )
135
- return
133
+ return completion ( . failure( OpenAIError . emptyData) )
136
134
}
137
-
138
- var apiError : Error ? = nil
135
+ let decoder = JSONDecoder ( )
139
136
do {
140
- let decoded = try JSONDecoder ( ) . decode ( ResultType . self, from: data)
141
- completion ( . success( decoded) )
137
+ completion ( . success( try decoder. decode ( ResultType . self, from: data) ) )
142
138
} catch {
143
- apiError = error
144
- }
145
-
146
- if let apiError = apiError {
147
- do {
148
- let decoded = try JSONDecoder ( ) . decode ( APIErrorResponse . self, from: data)
149
- completion ( . failure( decoded) )
150
- } catch {
151
- completion ( . failure( apiError) )
152
- }
139
+ completion ( . failure( ( try ? decoder. decode ( APIErrorResponse . self, from: data) ) ?? error) )
153
140
}
154
141
}
155
142
task. resume ( )
@@ -189,25 +176,13 @@ extension OpenAI {
189
176
190
177
let task = session. dataTask ( with: request) { data, _, error in
191
178
if let error = error {
192
- completion ( . failure( error) )
193
- return
179
+ return completion ( . failure( error) )
194
180
}
195
181
guard let data = data else {
196
- completion ( . failure( OpenAIError . emptyData) )
197
- return
182
+ return completion ( . failure( OpenAIError . emptyData) )
198
183
}
199
184
200
185
completion ( . success( AudioSpeechResult ( audioData: data) ) )
201
- let apiError : Error ? = nil
202
-
203
- if let apiError = apiError {
204
- do {
205
- let decoded = try JSONDecoder ( ) . decode ( APIErrorResponse . self, from: data)
206
- completion ( . failure( decoded) )
207
- } catch {
208
- completion ( . failure( apiError) )
209
- }
210
- }
211
186
}
212
187
task. resume ( )
213
188
} catch {
0 commit comments