UNPKG

@apistudio/apim-cli

Version:

CLI for API Management Products

38 lines (37 loc) 1.52 kB
/** * Copyright Super iPaaS Integration LLC, an IBM Company 2024 */ import axios from 'axios'; import FormData from 'form-data'; import { AppConstants } from './constants/app.constants.js'; // import { // } from './log-wrapper.js'; export const sendToGateway = async (gatewayURL, gatewayUser, gatewaySecret, zipBuffer, gatewaysJsonContent) => { const formData = new FormData(); formData.append('file', zipBuffer, 'gatewayInstance.zip'); formData.append('overwrite', gatewaysJsonContent.overwrite); const credentials = `${gatewayUser}:${gatewaySecret}`; const encodedCredentials = Buffer.from(credentials).toString('base64'); const authorizationHeader = `Basic ${encodedCredentials}`; //.logDebug('0108', gatewayURL); return axios.post(gatewayURL + AppConstants.DEPLOY_GATEWAY_URL, formData, { headers: { ...formData.getHeaders(), 'Authorization': authorizationHeader, }, }).then((response) => { //.logDebug('0010', JSON.stringify(response.data)); return { error: false, statusCode: response.status, data: response.data, }; }).catch((error) => { const errorMessage = `Error sending to ${gatewayURL}: ${error.message}`; //.logError('0009', 'Deployment', errorMessage); return { error: true, statusCode: error.response ? error.response.status : 404, data: error.response ? error.response.data : null, }; }); };