diff --git a/packages/sdk-rtl/src/paging.spec.ts b/packages/sdk-rtl/src/paging.spec.ts index 3539c0f78..16511eb49 100644 --- a/packages/sdk-rtl/src/paging.spec.ts +++ b/packages/sdk-rtl/src/paging.spec.ts @@ -197,6 +197,32 @@ describe('paging', () => { expect(actual.options?.timeout).toEqual(99) }) + it('do not throw error without other params', async () => { + const actual = await pager(sdk, () => + mockRawResponseSuccess( + transport, + mockedRows, + mockRawResponse('/api/4.0/alerts/search') + ) + ) + expect(actual).toBeDefined() + expect(actual.limit).toEqual(-1) + expect(actual.offset).toEqual(-1) + }) + + it('works without other query params', async () => { + const actual = await pager(sdk, () => + mockRawResponseSuccess( + transport, + mockedRows, + mockRawResponse('/api/4.0/alerts/search?limit=3&offset=0') + ) + ) + expect(actual).toBeDefined() + expect(actual.limit).toEqual(3) + expect(actual.offset).toEqual(0) + }) + it('works on relative url', async () => { const actual = await pager(sdk, () => mockRawResponseSuccess( diff --git a/packages/sdk-rtl/src/paging.ts b/packages/sdk-rtl/src/paging.ts index c33161b49..258762f73 100644 --- a/packages/sdk-rtl/src/paging.ts +++ b/packages/sdk-rtl/src/paging.ts @@ -373,7 +373,7 @@ export class Paging } parse(raw: IRawResponse): IPager { - const params = new URLSearchParams(raw.url) + const params = new URL(raw.url, 'http://default').searchParams this.limit = Paging.paramDefault(params.get('limit'), -1) this.offset = Paging.paramDefault( params.get('offset'),