@shapediver/viewer.shared.services
Advanced tools
Comparing version 2.0.12 to 2.1.0
@@ -28,2 +28,18 @@ "use strict"; | ||
const ShapeDiverViewerErrors_1 = require("../logger/ShapeDiverViewerErrors"); | ||
const errorHandler = (error) => { | ||
var _a, _b; | ||
if (error.response) { | ||
// Request was made and server responded with 4xx or 5xx | ||
const resp = error.response; | ||
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerConnectionError(error.message || resp.data.message || (resp.data.desc || ((_a = resp.data.error) !== null && _a !== void 0 ? _a : "")), resp.status, (_b = resp.data.error) !== null && _b !== void 0 ? _b : ""); | ||
} | ||
else if (error.request) { | ||
// The request was made but no response was received | ||
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerConnectionError("The request was made but no response was received."); | ||
} | ||
else { | ||
// Something happened in setting up the request that triggered an Error | ||
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerConnectionError(error.message); | ||
} | ||
}; | ||
let HttpClient = class HttpClient { | ||
@@ -39,3 +55,3 @@ // #endregion Properties (2) | ||
}, error => { | ||
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerConnectionError(error.message, error.response.status, error); | ||
throw errorHandler(error); | ||
}); | ||
@@ -45,3 +61,3 @@ axios_1.default.interceptors.request.use(response => { | ||
}, error => { | ||
throw new ShapeDiverViewerErrors_1.ShapeDiverViewerConnectionError(error.message, undefined, error); | ||
throw errorHandler(error); | ||
}); | ||
@@ -48,0 +64,0 @@ } |
@@ -185,35 +185,35 @@ "use strict"; | ||
if (this.canLog(LOGGING_LEVEL.ERROR) && this.showMessages === true) | ||
console.error('(ERROR) ', e); | ||
if (e instanceof sdk_geometry_api_sdk_v2_1.ShapeDiverRequestError) { | ||
const messageProperty = e && e.message ? e.message : `An unknown issue occurred in ${scope}.`; | ||
if (logToSentry) | ||
this.sentryError(topic, e, messageProperty); | ||
throw e; | ||
} | ||
else if (e instanceof sdk_geometry_api_sdk_v2_1.ShapeDiverResponseError && e.error === sdk_geometry_api_sdk_v2_1.ShapeDiverResponseErrorType.UNKNOWN) { | ||
const messageProperty = e && e.message ? e.message : `An unknown issue occurred in ${scope}.`; | ||
if (logToSentry) | ||
this.sentryError(topic, e, messageProperty); | ||
throw e; | ||
} | ||
else if (e instanceof sdk_geometry_api_sdk_v2_1.ShapeDiverResponseError) { | ||
throw e; | ||
} | ||
else if (e instanceof ShapeDiverError_1.ShapeDiverViewerError) { | ||
const messageProperty = e && e.message ? e.message : `An unknown issue occurred in ${scope}.`; | ||
if (logToSentry) { | ||
if (!(e instanceof ShapeDiverViewerErrors_1.ShapeDiverViewerConnectionError) || (e.status && e.status >= 500)) { | ||
//console.error('(ERROR) ', e); | ||
if (e instanceof sdk_geometry_api_sdk_v2_1.ShapeDiverRequestError) { | ||
const messageProperty = e && e.message ? e.message : `An unknown issue occurred in ${scope}.`; | ||
if (logToSentry) | ||
this.sentryError(topic, e, messageProperty); | ||
throw e; | ||
} | ||
else if (e instanceof sdk_geometry_api_sdk_v2_1.ShapeDiverResponseError && e.error === sdk_geometry_api_sdk_v2_1.ShapeDiverResponseErrorType.UNKNOWN) { | ||
const messageProperty = e && e.message ? e.message : `An unknown issue occurred in ${scope}.`; | ||
if (logToSentry) | ||
this.sentryError(topic, e, messageProperty); | ||
throw e; | ||
} | ||
else if (e instanceof sdk_geometry_api_sdk_v2_1.ShapeDiverResponseError) { | ||
throw e; | ||
} | ||
else if (e instanceof ShapeDiverError_1.ShapeDiverViewerError) { | ||
const messageProperty = e && e.message ? e.message : `An unknown issue occurred in ${scope}.`; | ||
if (logToSentry) { | ||
if (!(e instanceof ShapeDiverViewerErrors_1.ShapeDiverViewerConnectionError) || (e.status && e.status >= 500)) { | ||
this.sentryError(topic, e, messageProperty); | ||
} | ||
} | ||
throw e; | ||
} | ||
throw e; | ||
} | ||
else if (e) { | ||
const error = e; | ||
const messageProperty = error.message ? error.message : `An unknown issue occurred in ${scope}.`; | ||
const viewerError = new ShapeDiverViewerErrors_1.ShapeDiverViewerUnknownError(messageProperty, error); | ||
if (logToSentry) | ||
this.sentryError(topic, viewerError, messageProperty); | ||
throw viewerError; | ||
} | ||
else if (e) { | ||
const error = e; | ||
const messageProperty = error.message ? error.message : `An unknown issue occurred in ${scope}.`; | ||
const viewerError = new ShapeDiverViewerErrors_1.ShapeDiverViewerUnknownError(messageProperty, error); | ||
if (logToSentry) | ||
this.sentryError(topic, viewerError, messageProperty); | ||
throw viewerError; | ||
} | ||
} | ||
@@ -220,0 +220,0 @@ sentryError(topic, error, msg) { |
{ | ||
"name": "@shapediver/viewer.shared.services", | ||
"version": "2.0.12", | ||
"version": "2.1.0", | ||
"description": "", | ||
@@ -47,3 +47,3 @@ "keywords": [], | ||
"@shapediver/viewer.settings": "0.1.36", | ||
"@shapediver/viewer.shared.build-data": "2.0.12", | ||
"@shapediver/viewer.shared.build-data": "2.1.0", | ||
"@types/dompurify": "^2.3.1", | ||
@@ -59,3 +59,3 @@ "@types/ua-parser-js": "^0.7.36", | ||
}, | ||
"gitHead": "75172f37f302e63a35fcc7b6e2bd920eb86675aa" | ||
"gitHead": "3f40516bce9dc11152b48b46f776c55dc9c14867" | ||
} |
@@ -1,2 +0,2 @@ | ||
import axios, { AxiosRequestConfig } from 'axios' | ||
import axios, { AxiosRequestConfig, AxiosResponse } from 'axios' | ||
import { singleton } from 'tsyringe' | ||
@@ -6,2 +6,16 @@ import { ShapeDiverViewerConnectionError } from '../logger/ShapeDiverViewerErrors'; | ||
const errorHandler = (error: any) => { | ||
if (error.response) { | ||
// Request was made and server responded with 4xx or 5xx | ||
const resp = error.response as AxiosResponse | ||
throw new ShapeDiverViewerConnectionError( error.message || resp.data.message || (resp.data.desc || (resp.data.error ?? "")), resp.status, resp.data.error ?? "") | ||
} else if (error.request) { | ||
// The request was made but no response was received | ||
throw new ShapeDiverViewerConnectionError("The request was made but no response was received.") | ||
} else { | ||
// Something happened in setting up the request that triggered an Error | ||
throw new ShapeDiverViewerConnectionError(error.message) | ||
} | ||
} | ||
@singleton() | ||
@@ -32,3 +46,3 @@ export class HttpClient { | ||
error => { | ||
throw new ShapeDiverViewerConnectionError(error.message, error.response.status, error); | ||
throw errorHandler(error); | ||
}); | ||
@@ -40,3 +54,3 @@ axios.interceptors.request.use( | ||
error => { | ||
throw new ShapeDiverViewerConnectionError(error.message, undefined, error); | ||
throw errorHandler(error); | ||
}); | ||
@@ -43,0 +57,0 @@ } |
@@ -146,3 +146,3 @@ import * as Sentry from '@sentry/browser' | ||
if (this.canLog(LOGGING_LEVEL.ERROR) && this.showMessages === true) | ||
console.error('(ERROR) ', e); | ||
//console.error('(ERROR) ', e); | ||
if(e instanceof ShapeDiverRequestError) { | ||
@@ -149,0 +149,0 @@ const messageProperty = e && e.message ? e.message : `An unknown issue occurred in ${scope}.`; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
303680
4678
+ Added@shapediver/viewer.shared.build-data@2.1.0(transitive)
- Removed@shapediver/viewer.shared.build-data@2.0.12(transitive)