UNPKG

@managed-api/jira-cloud-v3-stitch-it

Version:

Adaptavist Managed API for Jira Cloud for Stitch It environment

37 lines 1.67 kB
/*! * Copyright Adaptavist 2022 (c) All rights reserved */ import { JiraCloudApiCore } from "@managed-api/jira-cloud-v3-core"; import { Headers } from "@managed-api/commons-core"; export class JiraCloudApi extends JiraCloudApiCore { constructor(connectionId) { super(); this.connectionId = connectionId; } getPlatformImplementation() { return { buffer: { encode: (input) => new TextEncoder().encode(input), decode: (input) => new TextDecoder().decode(new Uint8Array(input)) }, performHttpCall: (request) => this.performHttpCall(request) }; } async performHttpCall(request) { var _a; const requestUrl = `${request.url}`; request.headers.set('x-stitch-connection-id', this.connectionId); const requestHeaders = Object.entries(request.headers.raw()).reduce((acc, [key, value]) => ({ ...acc, [key]: value.join(', ') }), {}); const response = await fetch(requestUrl, { method: request.method, headers: requestHeaders, body: request.method.toLowerCase() !== 'get' ? (_a = await request.arrayBuffer(), (_a !== null && _a !== void 0 ? _a : new ArrayBuffer(0))) : undefined }); // TODO: fix incompatibilities so headers could be passed directly const apiHeaders = new Headers(); response.headers.forEach((value, key) => apiHeaders.append(key, value)); const body = await response.arrayBuffer(); return super.buildResponse(requestUrl, response.status, response.statusText, apiHeaders, body); } } //# sourceMappingURL=index.js.map