Skip to content

Commit 4799d1e

Browse files
authored
Add verbose options for request warnings and errors (#35)
1 parent ba8b15d commit 4799d1e

File tree

1 file changed

+34
-6
lines changed

1 file changed

+34
-6
lines changed

src/api.js

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ class DICOMwebClient {
3737
* @param {String} options.username - Username
3838
* @param {String} options.password - Password
3939
* @param {Object} options.headers - HTTP headers
40+
* @param {Object} options.verbose - print to console request warnings and errors, default true
4041
*/
4142
constructor(options) {
4243
this.baseURL = options.url;
@@ -80,6 +81,27 @@ class DICOMwebClient {
8081

8182
// Optional error interceptor callback to handle any failed request.
8283
this.errorInterceptor = options.errorInterceptor || function() {};
84+
85+
// Verbose - print to console request warnings and errors, default true
86+
this.verbose = options.verbose === false ? false : true;
87+
}
88+
89+
/**
90+
* Sets verbose flag.
91+
*
92+
* @param {Boolean} verbose
93+
*/
94+
setVerbose(verbose) {
95+
this.verbose = verbose
96+
}
97+
98+
/**
99+
* Gets verbose flag.
100+
*
101+
* @return {Boolean} verbose
102+
*/
103+
getVerbose() {
104+
return this.verbose;
83105
}
84106

85107
static _parseQueryParameters(params = {}) {
@@ -138,24 +160,30 @@ class DICOMwebClient {
138160
};
139161

140162
// Handle response message
141-
request.onreadystatechange = function onreadystatechange() {
163+
request.onreadystatechange = () => {
142164
if (request.readyState === 4) {
143165
if (request.status === 200) {
144166
resolve(request.response);
145167
} else if (request.status === 202) {
146-
console.warn("some resources already existed: ", request);
168+
if (this.verbose) {
169+
console.warn("some resources already existed: ", request);
170+
}
147171
resolve(request.response);
148172
} else if (request.status === 204) {
149-
console.warn("empty response for request: ", request);
173+
if (this.verbose) {
174+
console.warn("empty response for request: ", request);
175+
}
150176
resolve([]);
151177
} else {
152-
console.error("request failed: ", request);
153178
const error = new Error("request failed");
154179
error.request = request;
155180
error.response = request.response;
156181
error.status = request.status;
157-
console.error(error);
158-
console.error(error.response);
182+
if (this.verbose) {
183+
console.error("request failed: ", request);
184+
console.error(error);
185+
console.error(error.response);
186+
}
159187

160188
errorInterceptor(error);
161189

0 commit comments

Comments
 (0)