UNPKG

qiscrm-mcp

Version:

MCP server for QISCRM

67 lines (66 loc) 2.36 kB
import { API_KEY, BASE_URL } from './config.js'; import { log } from './utils.js'; export async function makeGetRequest(functionUrl, query) { if (!API_KEY) { throw new Error(`API_KEY Not Found`); } const startTime = Date.now(); const headers = { Accept: "application/json", At: API_KEY, }; let url = BASE_URL + functionUrl; let strParam = new URLSearchParams(query).toString(); let callUrl = url.concat('?').concat(strParam); try { const response = await fetch(callUrl, { headers }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const t = (await response.json()); log(`makePostRequest result: ${JSON.stringify(t)}`); const duration = Date.now() - startTime; log(`API request to ${functionUrl} completed in ${duration}ms`); return t; } catch (error) { log("Error makeGetRequest:", error); const duration = Date.now() - startTime; log(`API request to ${functionUrl} failed after ${duration}ms:`, error); throw error; } } export async function makePostRequest(functionUrl, bodyParam) { if (!API_KEY) { throw new Error(`API_KEY Not Found`); } const startTime = Date.now(); log(`makePostRequest: ${functionUrl},${JSON.stringify(bodyParam)}`); let url = BASE_URL + functionUrl; let requestInstance = new Request(url, { method: 'POST', headers: { 'Content-Type': 'application/json;charset=utf-8', At: API_KEY, }, body: JSON.stringify(bodyParam), }); try { const response = await fetch(requestInstance); if (!response.ok) { log(`HTTP error! status: ${response.status}`); throw new Error(`HTTP error! status: ${response.status}`); } const t = (await response.json()); log(`makePostRequest result: ${JSON.stringify(t)}`); const duration = Date.now() - startTime; log(`API request to ${functionUrl} completed in ${duration}ms`); return t; } catch (error) { log("Error makePostRequest:", error); const duration = Date.now() - startTime; log(`API request to ${functionUrl} failed after ${duration}ms:`, error); throw error; } }