@unito/integration-sdk 2.3.9 → 2.3.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1471,6 +1471,9 @@ class Provider {
1471
1471
  if (/^https?:\/\//.test(endpoint)) {
1472
1472
  absoluteUrl = endpoint;
1473
1473
  }
1474
+ else if (endpoint === '') {
1475
+ absoluteUrl = providerUrl;
1476
+ }
1474
1477
  else {
1475
1478
  absoluteUrl = [providerUrl, endpoint.charAt(0) === '/' ? endpoint.substring(1) : endpoint].join('/');
1476
1479
  }
@@ -260,6 +260,9 @@ export class Provider {
260
260
  if (/^https?:\/\//.test(endpoint)) {
261
261
  absoluteUrl = endpoint;
262
262
  }
263
+ else if (endpoint === '') {
264
+ absoluteUrl = providerUrl;
265
+ }
263
266
  else {
264
267
  absoluteUrl = [providerUrl, endpoint.charAt(0) === '/' ? endpoint.substring(1) : endpoint].join('/');
265
268
  }
@@ -212,6 +212,33 @@ describe('Provider', () => {
212
212
  ]);
213
213
  assert.deepEqual(actualResponse, { status: 200, headers: response.headers, body: { data: 'value' } });
214
214
  });
215
+ it('gets on provider url', async (context) => {
216
+ const response = new Response('{"data": "value"}', {
217
+ status: 200,
218
+ headers: { 'Content-Type': 'application/json' },
219
+ });
220
+ const fetchMock = context.mock.method(global, 'fetch', () => Promise.resolve(response));
221
+ const actualResponse = await provider.get('', {
222
+ credentials: { apiKey: 'apikey#1111', unitoCredentialId: '123' },
223
+ logger: logger,
224
+ signal: new AbortController().signal,
225
+ });
226
+ assert.equal(fetchMock.mock.calls.length, 1);
227
+ assert.deepEqual(fetchMock.mock.calls[0]?.arguments, [
228
+ 'www.myApi.com',
229
+ {
230
+ method: 'GET',
231
+ body: null,
232
+ signal: new AbortController().signal,
233
+ headers: {
234
+ Accept: 'application/json',
235
+ 'X-Custom-Provider-Header': 'value',
236
+ 'X-Provider-Credential-Header': 'apikey#1111',
237
+ },
238
+ },
239
+ ]);
240
+ assert.deepEqual(actualResponse, { status: 200, headers: response.headers, body: { data: 'value' } });
241
+ });
215
242
  it('post with url encoded body', async (context) => {
216
243
  const response = new Response('{"data": "value"}', {
217
244
  status: 201,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unito/integration-sdk",
3
- "version": "2.3.9",
3
+ "version": "2.3.10",
4
4
  "description": "Integration SDK",
5
5
  "type": "module",
6
6
  "types": "dist/src/index.d.ts",
@@ -362,6 +362,8 @@ export class Provider {
362
362
 
363
363
  if (/^https?:\/\//.test(endpoint)) {
364
364
  absoluteUrl = endpoint;
365
+ } else if (endpoint === '') {
366
+ absoluteUrl = providerUrl;
365
367
  } else {
366
368
  absoluteUrl = [providerUrl, endpoint.charAt(0) === '/' ? endpoint.substring(1) : endpoint].join('/');
367
369
  }
@@ -253,6 +253,37 @@ describe('Provider', () => {
253
253
  assert.deepEqual(actualResponse, { status: 200, headers: response.headers, body: { data: 'value' } });
254
254
  });
255
255
 
256
+ it('gets on provider url', async context => {
257
+ const response = new Response('{"data": "value"}', {
258
+ status: 200,
259
+ headers: { 'Content-Type': 'application/json' },
260
+ });
261
+
262
+ const fetchMock = context.mock.method(global, 'fetch', () => Promise.resolve(response));
263
+
264
+ const actualResponse = await provider.get('', {
265
+ credentials: { apiKey: 'apikey#1111', unitoCredentialId: '123' },
266
+ logger: logger,
267
+ signal: new AbortController().signal,
268
+ });
269
+
270
+ assert.equal(fetchMock.mock.calls.length, 1);
271
+ assert.deepEqual(fetchMock.mock.calls[0]?.arguments, [
272
+ 'www.myApi.com',
273
+ {
274
+ method: 'GET',
275
+ body: null,
276
+ signal: new AbortController().signal,
277
+ headers: {
278
+ Accept: 'application/json',
279
+ 'X-Custom-Provider-Header': 'value',
280
+ 'X-Provider-Credential-Header': 'apikey#1111',
281
+ },
282
+ },
283
+ ]);
284
+ assert.deepEqual(actualResponse, { status: 200, headers: response.headers, body: { data: 'value' } });
285
+ });
286
+
256
287
  it('post with url encoded body', async context => {
257
288
  const response = new Response('{"data": "value"}', {
258
289
  status: 201,