@@ -29,26 +29,21 @@ func (f *Fetcher) WithGroups(groups bool) *Fetcher {
2929 return f
3030}
3131
32- func (f * Fetcher ) Fetch (ctx context.Context , outputWriter , errorWriter io. Writer ) error {
32+ func (f * Fetcher ) Fetch (ctx context.Context , outputWriter io. Writer , errorWriter common. ErrorWriter ) error {
3333 writer := js .NewJSONArrayWriter (outputWriter )
3434 defer writer .Close ()
3535
3636 if f .groups {
3737 for obj , err := range f .fetchGroups () {
38- if err != nil {
39- common .WriteErrorWithExitCode (errorWriter , err , 1 )
40- }
38+ errorWriter .Error (err )
4139
42- if err := writer .Write (obj ); err != nil {
43- _ , _ = errorWriter .Write ([]byte (err .Error ()))
44- }
40+ err := writer .Write (obj )
41+ errorWriter .ErrorNoExitCode (err )
4542 }
4643 }
4744
4845 users , err := f .cognitoClient .ListUsers (ctx )
49- if err != nil {
50- _ , _ = errorWriter .Write ([]byte (err .Error ()))
51- }
46+ errorWriter .ErrorNoExitCode (err )
5247
5348 for _ , user := range users {
5449 attributes := make (map [string ]string )
@@ -58,41 +53,38 @@ func (f *Fetcher) Fetch(ctx context.Context, outputWriter, errorWriter io.Writer
5853
5954 userBytes , err := json .Marshal (user )
6055 if err != nil {
61- common . WriteErrorWithExitCode ( errorWriter , err , 1 )
56+ errorWriter . Error ( err )
6257 return err
6358 }
6459
6560 var obj map [string ]any
66- if err := json .Unmarshal (userBytes , & obj ); err != nil {
67- _ , _ = errorWriter .Write ([]byte (err .Error ()))
68- }
61+ err = json .Unmarshal (userBytes , & obj )
62+ errorWriter .ErrorNoExitCode (err )
6963
7064 obj ["Attributes" ] = attributes
7165
7266 if f .groups {
7367 groups , err := f .cognitoClient .GetGroupsForUser (* user .Username )
7468 if err != nil {
75- _ , _ = errorWriter .Write ([] byte ( err . Error ()) )
69+ errorWriter .ErrorNoExitCode ( err )
7670 continue
7771 }
7872
7973 groupBytes , err := json .Marshal (groups .Groups )
8074 if err != nil {
81- _ , _ = errorWriter .Write ([] byte ( err . Error ()) )
75+ errorWriter .ErrorNoExitCode ( err )
8276 return err
8377 }
8478
8579 var grps []map [string ]string
86- if err := json .Unmarshal (groupBytes , & grps ); err != nil {
87- _ , _ = errorWriter .Write ([]byte (err .Error ()))
88- }
80+ err = json .Unmarshal (groupBytes , & grps )
81+ errorWriter .ErrorNoExitCode (err )
8982
9083 obj ["Groups" ] = grps
9184 }
9285
93- if err := writer .Write (obj ); err != nil {
94- _ , _ = errorWriter .Write ([]byte (err .Error ()))
95- }
86+ err = writer .Write (obj )
87+ errorWriter .ErrorNoExitCode (err )
9688 }
9789
9890 return nil
0 commit comments