@@ -3,29 +3,38 @@ export const parseAPIError = (error) => {
3
3
if ( ! error . response ?. data ) {
4
4
return Constants . serviceUnavailableError ;
5
5
}
6
+ var errorObject = { "error" : { "message" : "An error occurred while processing your request" , "status" : error . response . status } }
7
+
6
8
var errorResponseData = error . response . data ;
7
9
if ( errorResponseData instanceof Array ) {
8
10
errorResponseData = errorResponseData [ 0 ] ;
9
11
}
10
- if ( errorResponseData . message )
11
- return { "error" : { "message" : errorResponseData . message } }
12
- if ( errorResponseData . error ?. message )
13
- return { "error" : { "message" : errorResponseData . error . message } }
14
- if ( errorResponseData . details !== undefined && errorResponseData . details . length > 0 )
15
- return { "error" : { "message" : errorResponseData . details [ 0 ] . message } }
16
- if ( errorResponseData . error !== undefined && typeof errorResponseData . error === 'string' )
17
- return { "error" : { "message" : errorResponseData . error } }
18
- let extractedErrorMessage = extractErrorMessage ( errorResponseData )
19
- if ( extractedErrorMessage !== undefined )
20
- return extractedErrorMessage
21
- if ( error . status === 400 )
22
- return { "error" : { "message" : "Bad Request: Please verify the entered input" } }
23
- if ( error . status === 500 )
24
- return { "error" : { "message" : "Internal Server Error: Please try again later" } }
25
- return { "error" : { "message" : "An error occurred while processing your request" } }
12
+ let extractedErrorMessage = extractErrorMessageFromPayload ( errorResponseData )
13
+ if ( extractedErrorMessage )
14
+ {
15
+ errorObject . error . message = extractedErrorMessage ;
16
+ return errorObject ;
17
+ }
18
+ if ( error . response . status === 400 )
19
+ {
20
+ errorObject . error . message = "Bad Request: Please verify the entered input" ;
21
+ return errorObject ;
22
+ }
23
+ if ( error . response . status === 500 )
24
+ {
25
+ errorObject . error . message = "Internal Server Error: Please try again later" ;
26
+ return errorObject ;
27
+ }
28
+ return errorObject ;
26
29
}
27
30
28
- const extractErrorMessage = ( errorResponseData ) => {
31
+ const extractErrorMessageFromPayload = ( errorResponseData ) => {
32
+ let errorMessage = errorResponseData ?. message || errorResponseData ?. error ?. message || errorResponseData ?. details ?. [ 0 ] ?. message ;
33
+ if ( errorMessage )
34
+ return errorMessage
35
+ if ( typeof errorResponseData ?. error === 'string' ) {
36
+ return errorResponseData . error ;
37
+ }
29
38
if ( typeof errorResponseData === 'object' )
30
39
for ( var key in errorResponseData ) {
31
40
if ( key !== 'timestamp' ) {
0 commit comments