UNPKG

@broadcom/endevor-bridge-for-git-for-zowe-cli

Version:

Endevor Bridge for Git plug-in for Zowe CLI

130 lines 5.49 kB
"use strict"; /* * Copyright (c) 2019 Broadcom. All Rights Reserved. The term * "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. * * This software and all information contained therein is * confidential and proprietary and shall not be duplicated, * used, disclosed, or disseminated in any way except as * authorized by the applicable license agreement, without the * express written permission of Broadcom. All authorized * reproductions must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO * THE EXTENT PERMITTED BY APPLICABLE LAW, BROADCOM PROVIDES THIS * SOFTWARE WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT * LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR * FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL BROADCOM * BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR * DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THIS SOFTWARE, * INCLUDING WITHOUT LIMITATION, LOST PROFITS, BUSINESS * INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF BROADCOM IS * EXPRESSLY ADVISED OF SUCH LOSS OR DAMAGE. */ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.EBGClient = void 0; // const imperative_1 = require("@zowe/imperative"); const object_1 = require("../utils/object"); const endevor_bridge_for_git_rest_api_1 = require("@broadcom/endevor-bridge-for-git-rest-api"); class EBGClient extends endevor_bridge_for_git_rest_api_1.ARestPromiseClient { static cleanParams(request) { if (request.params !== undefined) { for (const i in request.params) { if (request.params[i] === null) { request.params[i] = ""; } } } return request.params; } static appendHeaders(headers) { return [headers, { "Content-Type": "application/json" }]; } static processApiError(error) { try { return imperative_1.JSONUtils.parse(error.causeErrors); } catch (e) { throw error; } } static fail(error) { const response = EBGClient.processApiError(error); // in case of RestConnectorException error (Authentication issue) the response contains message instead of messages const messages = (0, object_1.isNil)(response.messages) ? response.message : response.messages.join("\n"); throw new imperative_1.ImperativeError({ msg: messages }); } constructor(session) { super(); this.session = session; } getPromise(request) { return __awaiter(this, void 0, void 0, function* () { try { const headers = EBGClient.appendHeaders(request.defaultRequestConfig.headers); return yield imperative_1.RestClient.getExpectJSON(this.session, this.getRequestUrl(request), headers); } catch (e) { EBGClient.fail(e); } }); } deletePromise(request) { return __awaiter(this, void 0, void 0, function* () { try { const headers = EBGClient.appendHeaders(request.defaultRequestConfig.headers); return yield imperative_1.RestClient.deleteExpectJSON(this.session, this.getRequestUrl(request), headers); } catch (e) { EBGClient.fail(e); } }); } postPromise(request) { return __awaiter(this, void 0, void 0, function* () { try { const headers = EBGClient.appendHeaders(request.defaultRequestConfig.headers); return yield imperative_1.RestClient.postExpectJSON(this.session, this.getRequestUrl(request), headers, request.payload); } catch (e) { EBGClient.fail(e); } }); } putPromise(request) { return __awaiter(this, void 0, void 0, function* () { try { const headers = EBGClient.appendHeaders(request.defaultRequestConfig.headers); return yield imperative_1.RestClient.putExpectJSON(this.session, this.getRequestUrl(request), headers, request.payload); } catch (e) { EBGClient.fail(e); } }); } patchPromise(request) { return __awaiter(this, void 0, void 0, function* () { return null; }); } getRequestUrl(request) { let url = request.basePath + request.customPath; const params = EBGClient.cleanParams(request); if ((0, object_1.isNotNil)(params)) { url = url + "?" + Object.entries(request.params).map(e => e.join("=")).join("&"); } return url; } } exports.EBGClient = EBGClient; //# sourceMappingURL=EBGClient.js.map