diff --git a/src/services/splitHttpClient.ts b/src/services/splitHttpClient.ts index b5df0e68..d9ec90f7 100644 --- a/src/services/splitHttpClient.ts +++ b/src/services/splitHttpClient.ts @@ -14,26 +14,24 @@ const messageNoFetch = 'Global fetch API is not available.'; */ export function splitHttpClientFactory(settings: Pick, getFetch?: () => (IFetch | undefined), getOptions?: () => object): ISplitHttpClient { - const log = settings.log; + const { log, core: { authorizationKey }, version, runtime: { ip, hostname } } = settings; const options = getOptions && getOptions(); const fetch = getFetch && getFetch(); // if fetch is not available, log Error if (!fetch) log.error(ERROR_CLIENT_CANNOT_GET_READY, [messageNoFetch]); - return function httpClient(url: string, reqOpts: IRequestOptions = {}, logErrorsAsInfo: boolean = false): Promise { - - const { core: { authorizationKey }, version, runtime: { ip, hostname } } = settings; + const headers: Record = { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + 'Authorization': `Bearer ${authorizationKey}`, + 'SplitSDKVersion': version + }; - const headers: Record = { - 'Accept': 'application/json', - 'Content-Type': 'application/json', - 'Authorization': `Bearer ${authorizationKey}`, - 'SplitSDKVersion': version - }; + if (ip) headers['SplitSDKMachineIP'] = ip; + if (hostname) headers['SplitSDKMachineName'] = hostname; - if (ip) headers['SplitSDKMachineIP'] = ip; - if (hostname) headers['SplitSDKMachineName'] = hostname; + return function httpClient(url: string, reqOpts: IRequestOptions = {}, logErrorsAsInfo: boolean = false): Promise { const request = objectAssign({ headers: reqOpts.headers ? objectAssign({}, headers, reqOpts.headers) : headers, diff --git a/src/trackers/impressionsTracker.ts b/src/trackers/impressionsTracker.ts index f3274678..c2335531 100644 --- a/src/trackers/impressionsTracker.ts +++ b/src/trackers/impressionsTracker.ts @@ -28,7 +28,7 @@ export function impressionsTrackerFactory( countsCache?: IImpressionCountsCacheSync ): IImpressionsTracker { - const { log, impressionListener, runtime: { ip, hostname } } = settings; + const { log, impressionListener, runtime: { ip, hostname }, version } = settings; return { track(impressions: ImpressionDTO[], attributes?: SplitIO.Attributes) { @@ -76,7 +76,7 @@ export function impressionsTrackerFactory( attributes, ip, hostname, - sdkLanguageVersion: settings.version + sdkLanguageVersion: version }; // Wrap in a timeout because we don't want it to be blocking.