Skip to content

Commit 3c1feb6

Browse files
authored
fix(javascript): auth via query parameters (#124)
1 parent 32fa4cc commit 3c1feb6

File tree

11 files changed

+121
-378
lines changed

11 files changed

+121
-378
lines changed

clients/algoliasearch-client-javascript/client-abtesting/src/abtestingApi.ts

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ export const createAbtestingApi = (
3636
hosts: options?.hosts ?? getDefaultHosts(options.region),
3737
baseHeaders: {
3838
'content-type': 'application/x-www-form-urlencoded',
39+
...auth.headers(),
3940
},
41+
baseQueryParameters: auth.queryParameters(),
4042
userAgent: getUserAgent({
4143
userAgents: options.userAgents,
4244
client: 'Abtesting',
@@ -89,10 +91,7 @@ export const createAbtestingApi = (
8991

9092
return transporter.request(request, {
9193
queryParameters,
92-
headers: {
93-
...headers,
94-
...auth.headers(),
95-
},
94+
headers,
9695
});
9796
}
9897

@@ -124,10 +123,7 @@ export const createAbtestingApi = (
124123

125124
return transporter.request(request, {
126125
queryParameters,
127-
headers: {
128-
...headers,
129-
...auth.headers(),
130-
},
126+
headers,
131127
});
132128
}
133129

@@ -157,10 +153,7 @@ export const createAbtestingApi = (
157153

158154
return transporter.request(request, {
159155
queryParameters,
160-
headers: {
161-
...headers,
162-
...auth.headers(),
163-
},
156+
headers,
164157
});
165158
}
166159

@@ -195,10 +188,7 @@ export const createAbtestingApi = (
195188

196189
return transporter.request(request, {
197190
queryParameters,
198-
headers: {
199-
...headers,
200-
...auth.headers(),
201-
},
191+
headers,
202192
});
203193
}
204194

@@ -228,10 +218,7 @@ export const createAbtestingApi = (
228218

229219
return transporter.request(request, {
230220
queryParameters,
231-
headers: {
232-
...headers,
233-
...auth.headers(),
234-
},
221+
headers,
235222
});
236223
}
237224

clients/algoliasearch-client-javascript/client-analytics/src/analyticsApi.ts

Lines changed: 19 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,9 @@ export const createAnalyticsApi = (
5151
hosts: options?.hosts ?? getDefaultHosts(options.region),
5252
baseHeaders: {
5353
'content-type': 'application/x-www-form-urlencoded',
54+
...auth.headers(),
5455
},
56+
baseQueryParameters: auth.queryParameters(),
5557
userAgent: getUserAgent({
5658
userAgents: options.userAgents,
5759
client: 'Analytics',
@@ -110,10 +112,7 @@ export const createAnalyticsApi = (
110112

111113
return transporter.request(request, {
112114
queryParameters,
113-
headers: {
114-
...headers,
115-
...auth.headers(),
116-
},
115+
headers,
117116
});
118117
}
119118

@@ -166,10 +165,7 @@ export const createAnalyticsApi = (
166165

167166
return transporter.request(request, {
168167
queryParameters,
169-
headers: {
170-
...headers,
171-
...auth.headers(),
172-
},
168+
headers,
173169
});
174170
}
175171

@@ -222,10 +218,7 @@ export const createAnalyticsApi = (
222218

223219
return transporter.request(request, {
224220
queryParameters,
225-
headers: {
226-
...headers,
227-
...auth.headers(),
228-
},
221+
headers,
229222
});
230223
}
231224

@@ -278,10 +271,7 @@ export const createAnalyticsApi = (
278271

279272
return transporter.request(request, {
280273
queryParameters,
281-
headers: {
282-
...headers,
283-
...auth.headers(),
284-
},
274+
headers,
285275
});
286276
}
287277

@@ -334,10 +324,7 @@ export const createAnalyticsApi = (
334324

335325
return transporter.request(request, {
336326
queryParameters,
337-
headers: {
338-
...headers,
339-
...auth.headers(),
340-
},
327+
headers,
341328
});
342329
}
343330

@@ -390,10 +377,7 @@ export const createAnalyticsApi = (
390377

391378
return transporter.request(request, {
392379
queryParameters,
393-
headers: {
394-
...headers,
395-
...auth.headers(),
396-
},
380+
headers,
397381
});
398382
}
399383

@@ -446,10 +430,7 @@ export const createAnalyticsApi = (
446430

447431
return transporter.request(request, {
448432
queryParameters,
449-
headers: {
450-
...headers,
451-
...auth.headers(),
452-
},
433+
headers,
453434
});
454435
}
455436

@@ -514,10 +495,7 @@ export const createAnalyticsApi = (
514495

515496
return transporter.request(request, {
516497
queryParameters,
517-
headers: {
518-
...headers,
519-
...auth.headers(),
520-
},
498+
headers,
521499
});
522500
}
523501

@@ -582,10 +560,7 @@ export const createAnalyticsApi = (
582560

583561
return transporter.request(request, {
584562
queryParameters,
585-
headers: {
586-
...headers,
587-
...auth.headers(),
588-
},
563+
headers,
589564
});
590565
}
591566

@@ -618,10 +593,7 @@ export const createAnalyticsApi = (
618593

619594
return transporter.request(request, {
620595
queryParameters,
621-
headers: {
622-
...headers,
623-
...auth.headers(),
624-
},
596+
headers,
625597
});
626598
}
627599

@@ -686,10 +658,7 @@ export const createAnalyticsApi = (
686658

687659
return transporter.request(request, {
688660
queryParameters,
689-
headers: {
690-
...headers,
691-
...auth.headers(),
692-
},
661+
headers,
693662
});
694663
}
695664

@@ -760,10 +729,7 @@ export const createAnalyticsApi = (
760729

761730
return transporter.request(request, {
762731
queryParameters,
763-
headers: {
764-
...headers,
765-
...auth.headers(),
766-
},
732+
headers,
767733
});
768734
}
769735

@@ -845,10 +811,7 @@ export const createAnalyticsApi = (
845811

846812
return transporter.request(request, {
847813
queryParameters,
848-
headers: {
849-
...headers,
850-
...auth.headers(),
851-
},
814+
headers,
852815
});
853816
}
854817

@@ -919,10 +882,7 @@ export const createAnalyticsApi = (
919882

920883
return transporter.request(request, {
921884
queryParameters,
922-
headers: {
923-
...headers,
924-
...auth.headers(),
925-
},
885+
headers,
926886
});
927887
}
928888

@@ -1001,10 +961,7 @@ export const createAnalyticsApi = (
1001961

1002962
return transporter.request(request, {
1003963
queryParameters,
1004-
headers: {
1005-
...headers,
1006-
...auth.headers(),
1007-
},
964+
headers,
1008965
});
1009966
}
1010967

@@ -1089,10 +1046,7 @@ export const createAnalyticsApi = (
10891046

10901047
return transporter.request(request, {
10911048
queryParameters,
1092-
headers: {
1093-
...headers,
1094-
...auth.headers(),
1095-
},
1049+
headers,
10961050
});
10971051
}
10981052

@@ -1145,10 +1099,7 @@ export const createAnalyticsApi = (
11451099

11461100
return transporter.request(request, {
11471101
queryParameters,
1148-
headers: {
1149-
...headers,
1150-
...auth.headers(),
1151-
},
1102+
headers,
11521103
});
11531104
}
11541105

clients/algoliasearch-client-javascript/client-common/src/Transporter.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,22 @@ import {
1616
stackFrameWithoutCredentials,
1717
} from './stackTrace';
1818
import type {
19+
EndRequest,
1920
Headers,
2021
Host,
22+
QueryParameters,
2123
Request,
2224
RequestOptions,
25+
Response,
2326
StackFrame,
2427
Timeouts,
25-
Response,
26-
EndRequest,
2728
UserAgent,
2829
} from './types';
2930

3031
export class Transporter {
3132
private hosts: Host[];
3233
private baseHeaders: Headers;
34+
private baseQueryParameters: QueryParameters;
3335
private hostsCache: Cache;
3436
private userAgent: UserAgent;
3537
private timeouts: Timeouts;
@@ -38,19 +40,22 @@ export class Transporter {
3840
constructor({
3941
hosts,
4042
baseHeaders,
43+
baseQueryParameters,
4144
userAgent,
4245
timeouts,
4346
requester,
4447
}: {
4548
hosts: Host[];
4649
baseHeaders: Headers;
50+
baseQueryParameters: QueryParameters;
4751
userAgent: UserAgent;
4852
timeouts: Timeouts;
4953
requester: Requester;
5054
}) {
5155
this.hosts = hosts;
5256
this.hostsCache = new MemoryCache();
5357
this.baseHeaders = baseHeaders;
58+
this.baseQueryParameters = baseQueryParameters;
5459
this.userAgent = userAgent;
5560
this.timeouts = timeouts;
5661
this.requester = requester;
@@ -135,6 +140,7 @@ export class Transporter {
135140

136141
const queryParameters = {
137142
'x-algolia-agent': this.userAgent.value,
143+
...this.baseQueryParameters,
138144
...dataQueryParameters,
139145
...requestOptions.queryParameters,
140146
};

clients/algoliasearch-client-javascript/client-common/src/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ export type EchoResponse = Request & {
5252
};
5353

5454
export type Headers = Record<string, string>;
55+
export type QueryParameters = Record<string, string>;
5556

5657
export type Host = {
5758
url: string;

clients/algoliasearch-client-javascript/client-insights/src/insightsApi.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ export const createInsightsApi = (
3434
hosts: options?.hosts ?? getDefaultHosts(options.region),
3535
baseHeaders: {
3636
'content-type': 'application/x-www-form-urlencoded',
37+
...auth.headers(),
3738
},
39+
baseQueryParameters: auth.queryParameters(),
3840
userAgent: getUserAgent({
3941
userAgents: options.userAgents,
4042
client: 'Insights',
@@ -77,10 +79,7 @@ export const createInsightsApi = (
7779

7880
return transporter.request(request, {
7981
queryParameters,
80-
headers: {
81-
...headers,
82-
...auth.headers(),
83-
},
82+
headers,
8483
});
8584
}
8685

0 commit comments

Comments
 (0)