File tree 2 files changed +33
-18
lines changed 2 files changed +33
-18
lines changed Original file line number Diff line number Diff line change @@ -1181,20 +1181,17 @@ export class StreamChat {
1181
1181
} ) ;
1182
1182
}
1183
1183
1184
- errorFromResponse (
1185
- response : AxiosResponse < APIErrorResponse > ,
1186
- ) : ErrorFromResponse < APIErrorResponse > {
1187
- let err : ErrorFromResponse < APIErrorResponse > ;
1188
- err = new ErrorFromResponse ( `StreamChat error HTTP code: ${ response . status } ` ) ;
1189
- if ( response . data && response . data . code ) {
1190
- err = new Error (
1191
- `StreamChat error code ${ response . data . code } : ${ response . data . message } ` ,
1192
- ) ;
1193
- err . code = response . data . code ;
1194
- }
1195
- err . response = response ;
1196
- err . status = response . status ;
1197
- return err ;
1184
+ errorFromResponse ( response : AxiosResponse < APIErrorResponse > ) {
1185
+ const message =
1186
+ typeof response . data . code !== 'undefined'
1187
+ ? `StreamChat error code ${ response . data . code } : ${ response . data . message } `
1188
+ : `StreamChat error HTTP code: ${ response . status } ` ;
1189
+
1190
+ return new ErrorFromResponse < APIErrorResponse > ( message , {
1191
+ code : response . data . code ?? null ,
1192
+ response,
1193
+ status : response . status ,
1194
+ } ) ;
1198
1195
}
1199
1196
1200
1197
handleResponse < T > ( response : AxiosResponse < T > ) {
Original file line number Diff line number Diff line change @@ -3197,18 +3197,36 @@ type ErrorResponseDetails = {
3197
3197
} ;
3198
3198
3199
3199
export type APIErrorResponse = {
3200
- code : number ;
3201
3200
duration : string ;
3202
3201
message : string ;
3203
3202
more_info : string ;
3204
3203
StatusCode : number ;
3204
+ code ?: number ;
3205
3205
details ?: ErrorResponseDetails ;
3206
3206
} ;
3207
3207
3208
3208
export class ErrorFromResponse < T > extends Error {
3209
- code ?: number ;
3210
- response ?: AxiosResponse < T > ;
3211
- status ?: number ;
3209
+ public code : number | null ;
3210
+ public status : number ;
3211
+ public response : AxiosResponse < T > ;
3212
+
3213
+ constructor (
3214
+ message : string ,
3215
+ {
3216
+ code,
3217
+ status,
3218
+ response,
3219
+ } : {
3220
+ code : ErrorFromResponse < T > [ 'code' ] ;
3221
+ response : ErrorFromResponse < T > [ 'response' ] ;
3222
+ status : ErrorFromResponse < T > [ 'status' ] ;
3223
+ } ,
3224
+ ) {
3225
+ super ( message ) ;
3226
+ this . code = code ;
3227
+ this . response = response ;
3228
+ this . status = status ;
3229
+ }
3212
3230
}
3213
3231
3214
3232
export type QueryPollsResponse = {
You can’t perform that action at this time.
0 commit comments