Skip to content

Commit 33d5253

Browse files
committed
Only log errors for DspaceRestService.get
When refactoring to meet the rxjs/no-implicit-any-catch ESLint rule, I'd made it so errors were logged for DspaceRestService.request calls as well, making it a lot more noisy The console.log in .get is explicitly required by tests though
1 parent 86885f7 commit 33d5253

File tree

1 file changed

+33
-15
lines changed

1 file changed

+33
-15
lines changed

src/app/core/dspace-rest/dspace-rest.service.ts

Lines changed: 33 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {
33
HttpErrorResponse,
44
HttpHeaders,
55
HttpParams,
6+
HttpResponse,
67
} from '@angular/common/http';
78
import { Injectable } from '@angular/core';
89
import {
@@ -53,7 +54,21 @@ export class DspaceRestService {
5354
* An Observable<string> containing the response from the server
5455
*/
5556
get(absoluteURL: string): Observable<RawRestResponse> {
56-
return this.request(RestRequestMethod.GET, absoluteURL);
57+
const requestOptions = {
58+
observe: 'response' as any,
59+
headers: new HttpHeaders({ 'Content-Type': DEFAULT_CONTENT_TYPE }),
60+
};
61+
return this.http.get(absoluteURL, requestOptions).pipe(
62+
map((res: HttpResponse<any>) => ({
63+
payload: res.body,
64+
statusCode: res.status,
65+
statusText: res.statusText,
66+
})),
67+
catchError((err: unknown) => observableThrowError(() => {
68+
console.log('Error: ', err);
69+
return this.handleHttpError(err);
70+
})),
71+
);
5772
}
5873

5974
/**
@@ -110,20 +125,7 @@ export class DspaceRestService {
110125
statusText: res.statusText,
111126
})),
112127
catchError((err: unknown) => observableThrowError(() => {
113-
console.log('Error: ', err);
114-
if (err instanceof HttpErrorResponse) {
115-
const error = new RequestError(
116-
(isNotEmpty(err?.error?.message)) ? err.error.message : err.message,
117-
);
118-
119-
error.statusCode = err.status;
120-
error.statusText = err.statusText;
121-
122-
return error;
123-
} else {
124-
console.error('Cannot construct RequestError from', err);
125-
return err;
126-
}
128+
return this.handleHttpError(err);
127129
})),
128130
);
129131
}
@@ -149,4 +151,20 @@ export class DspaceRestService {
149151
return form;
150152
}
151153

154+
protected handleHttpError(err: unknown): RequestError | unknown {
155+
if (err instanceof HttpErrorResponse) {
156+
const error = new RequestError(
157+
(isNotEmpty(err?.error?.message)) ? err.error.message : err.message,
158+
);
159+
160+
error.statusCode = err.status;
161+
error.statusText = err.statusText;
162+
163+
return error;
164+
} else {
165+
console.error('Cannot construct RequestError from', err);
166+
return err;
167+
}
168+
}
169+
152170
}

0 commit comments

Comments
 (0)