Skip to content

Commit 38e05d3

Browse files
authored
fix(axiosErrors): improve axios errors readability (#48)
1 parent 1611d0a commit 38e05d3

1 file changed

Lines changed: 28 additions & 12 deletions

File tree

packages/crowdsec-client/src/Decisions/DecisionsBouncer.ts

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import type { decisionOrigin, Decisions } from '../types/index.js';
33
import { createDebugger, forceArray } from '../utils.js';
44
import { DecisionsStream } from './DecisionsStream.js';
55
import { Decision } from './Decision.js';
6+
import axios from 'axios';
7+
import { AxiosError } from '../Errors/index.js';
68

79
const debug = createDebugger('DecisionsBouncer');
810

@@ -41,11 +43,18 @@ export class DecisionsBouncer extends BaseSubObject {
4143
: undefined
4244
}))();
4345

44-
return (
45-
await this.http.get<Decisions.GetDecisionsStream.ResponseBody>('/v1/decisions/stream', {
46-
params
47-
})
48-
).data;
46+
try {
47+
return (
48+
await this.http.get<Decisions.GetDecisionsStream.ResponseBody>('/v1/decisions/stream', {
49+
params
50+
})
51+
).data;
52+
} catch (e) {
53+
if (axios.isAxiosError(e)) {
54+
throw new AxiosError(e);
55+
}
56+
throw e;
57+
}
4958
}
5059

5160
public getStream<Scopes extends string = 'ip', Origins extends string = decisionOrigin>(
@@ -214,12 +223,19 @@ export class DecisionsBouncer extends BaseSubObject {
214223
: undefined
215224
}))();
216225

217-
return (
218-
(
219-
await this.http.get<Decisions.GetDecisions.ResponseBody>('/v1/decisions', {
220-
params
221-
})
222-
)?.data || []
223-
).map((d) => new Decision(d));
226+
try {
227+
return (
228+
(
229+
await this.http.get<Decisions.GetDecisions.ResponseBody>('/v1/decisions', {
230+
params
231+
})
232+
)?.data || []
233+
).map((d) => new Decision(d));
234+
} catch (e) {
235+
if (axios.isAxiosError(e)) {
236+
throw new AxiosError(e);
237+
}
238+
throw e;
239+
}
224240
}
225241
}

0 commit comments

Comments
 (0)