diff --git a/src/http/http-native-impl.ts b/src/http/http-native-impl.ts index 6aedb2d18..370aa0edb 100644 --- a/src/http/http-native-impl.ts +++ b/src/http/http-native-impl.ts @@ -1,5 +1,3 @@ -import { headerCase } from 'change-case'; - import type { MastoConfig } from '../config'; import type { CreateErrorParams } from '../errors'; import { createError, MastoError } from '../errors'; @@ -92,7 +90,7 @@ export class HttpNativeImpl extends BaseHttp implements Http { const result: Record = {}; // eslint-disable-next-line unicorn/no-array-for-each headers.forEach((value, key) => { - result[headerCase(key)] = value; + result[key.toLowerCase()] = value; }); return result as Headers; } diff --git a/src/paginator.spec.ts b/src/paginator.spec.ts index d894a5f99..eaf7bd69a 100644 --- a/src/paginator.spec.ts +++ b/src/paginator.spec.ts @@ -2,16 +2,21 @@ import { BaseHttp } from './http/base-http'; import { Paginator } from './paginator'; import { SerializerNodejsImpl } from './serializers'; +const request = jest.fn(); class Test extends BaseHttp { config = { url: 'https://mastodon.social', accessToken: 'token', }; - request = jest.fn(); + request = request; serializer = new SerializerNodejsImpl(); } describe('Paginator', () => { + afterEach(() => { + request.mockClear(); + }); + it('sends a request', async () => { const http = new Test(); http.request.mockReturnValue({ headers: {} }); @@ -19,7 +24,7 @@ describe('Paginator', () => { foo: 'bar', }); await paginator.next(); - expect(http.request.mock.calls[0][0]).toEqual({ + expect(http.request).toBeCalledWith({ method: 'get', url: '/v1/api/timelines', params: { foo: 'bar' }, @@ -30,13 +35,13 @@ describe('Paginator', () => { const http = new Test(); http.request.mockReturnValue({ headers: { - Link: '; rel="next", ; rel="prev"', + link: '; rel="next", ; rel="prev"', }, }); const paginator = new Paginator(http, '/v1/api/timelines'); await paginator.next(); await paginator.next(); - expect(http.request.mock.calls[1][0]).toEqual({ + expect(http.request).toBeCalledWith({ method: 'get', params: undefined, url: '/api/v1/timelines/home?max_id=109382006402042919', diff --git a/src/paginator.ts b/src/paginator.ts index 9170cf57c..c769d37ad 100644 --- a/src/paginator.ts +++ b/src/paginator.ts @@ -34,8 +34,8 @@ export class Paginator }); this.nextUrl = - typeof response.headers?.Link === 'string' - ? this.pluckNext(response.headers.Link) + typeof response.headers?.link === 'string' + ? this.pluckNext(response.headers.link) : undefined; return {