33 HttpErrorResponse ,
44 HttpHeaders ,
55 HttpParams ,
6+ HttpResponse ,
67} from '@angular/common/http' ;
78import { Injectable } from '@angular/core' ;
89import {
@@ -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