From d87a826493bb22327a5a39abeda3d74c907fa50d Mon Sep 17 00:00:00 2001 From: Ali BARIN Date: Thu, 19 Jan 2023 17:56:39 +0100 Subject: [PATCH] feat(twitter): sign querystring in requests --- .../src/apps/twitter/common/add-auth-header.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/backend/src/apps/twitter/common/add-auth-header.ts b/packages/backend/src/apps/twitter/common/add-auth-header.ts index e21d637b..993c0530 100644 --- a/packages/backend/src/apps/twitter/common/add-auth-header.ts +++ b/packages/backend/src/apps/twitter/common/add-auth-header.ts @@ -1,4 +1,5 @@ import { Token } from 'oauth-1.0a'; +import { URLSearchParams } from 'node:url'; import { IJSONObject, TBeforeRequest } from '@automatisch/types'; import oauthClient from './oauth-client'; @@ -9,15 +10,24 @@ type RequestDataType = { }; const addAuthHeader: TBeforeRequest = ($, requestConfig) => { - const { url, method, data } = requestConfig; + const { baseURL, url, method, data, params } = requestConfig; const token: Token = { key: $.auth.data?.accessToken as string, secret: $.auth.data?.accessSecret as string, }; + const searchParams = new URLSearchParams(params); + const stringifiedParams = searchParams.toString(); + let fullUrl = `${baseURL}${url}`; + + // append the search params + if (stringifiedParams) { + fullUrl = `${fullUrl}?${stringifiedParams}`; + } + const requestData: RequestDataType = { - url: `${requestConfig.baseURL}${url}`, + url: fullUrl, method, };