From eff0c5e8d0950a7855ebe76f4e3530c378d922bf Mon Sep 17 00:00:00 2001 From: sredbull Date: Mon, 7 Jan 2019 05:19:50 +0100 Subject: [PATCH] Added proper error response (#1814) --- .../Javascript/es6/ApiClient.mustache | 9 +++++++- .../javascript-promise-es6/src/ApiClient.js | 22 ++++++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/Javascript/es6/ApiClient.mustache b/modules/openapi-generator/src/main/resources/Javascript/es6/ApiClient.mustache index 1decc2f2dbf..573128bd666 100644 --- a/modules/openapi-generator/src/main/resources/Javascript/es6/ApiClient.mustache +++ b/modules/openapi-generator/src/main/resources/Javascript/es6/ApiClient.mustache @@ -438,7 +438,14 @@ class ApiClient { {{#usePromises}}return new Promise((resolve, reject) => { request.end((error, response) => { if (error) { - reject(error); + var err = {}; + err.status = response.status; + err.statusText = response.statusText; + err.body = response.body; + err.response = response; + err.error = error; + + reject(err); } else { try { var data = this.deserialize(response, returnType); diff --git a/samples/client/petstore/javascript-promise-es6/src/ApiClient.js b/samples/client/petstore/javascript-promise-es6/src/ApiClient.js index 50ef10e264e..3de893aa39e 100644 --- a/samples/client/petstore/javascript-promise-es6/src/ApiClient.js +++ b/samples/client/petstore/javascript-promise-es6/src/ApiClient.js @@ -89,6 +89,11 @@ class ApiClient { */ this.requestAgent = null; + /* + * Allow user to add superagent plugins + */ + this.plugins = null; + } /** @@ -347,6 +352,14 @@ class ApiClient { var url = this.buildUrl(path, pathParams); var request = superagent(httpMethod, url); + if (this.plugins !== null) { + for (var index in this.plugins) { + if (this.plugins.hasOwnProperty(index)) { + request.use(this.plugins[index]) + } + } + } + // apply authentications this.applyAuthToRequest(request, authNames); @@ -420,7 +433,14 @@ class ApiClient { return new Promise((resolve, reject) => { request.end((error, response) => { if (error) { - reject(error); + var err = {}; + err.status = response.status; + err.statusText = response.statusText; + err.body = response.body; + err.response = response; + err.error = error; + + reject(err); } else { try { var data = this.deserialize(response, returnType);