Skip to content

Commit dc43c2a

Browse files
authored
fix(javascript): do not send user-agent for Predict (#919)
1 parent cfcd664 commit dc43c2a

File tree

4 files changed

+30
-7
lines changed

4 files changed

+30
-7
lines changed

clients/algoliasearch-client-javascript/packages/client-common/src/transporter/createTransporter.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,15 @@ export function createTransporter({
110110
: {};
111111

112112
const queryParameters: QueryParameters = {
113-
'x-algolia-agent': algoliaAgent.value,
114113
...baseQueryParameters,
115114
...request.queryParameters,
116115
...dataQueryParameters,
117116
};
118117

118+
if (algoliaAgent.value) {
119+
queryParameters['x-algolia-agent'] = algoliaAgent.value;
120+
}
121+
119122
if (requestOptions && requestOptions.queryParameters) {
120123
for (const key of Object.keys(requestOptions.queryParameters)) {
121124
// We want to keep `undefined` and `null` values,

generators/src/main/java/com/algolia/codegen/AlgoliaJavaScriptGenerator.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,9 @@ private void setDefaultGeneratorOptions() {
121121
additionalProperties.put("isSearchClient", CLIENT.equals("search"));
122122
additionalProperties.put("isAlgoliasearchClient", isAlgoliasearchClient);
123123

124+
// PRED-523 - tmp addition until the predict client supports user-agent in their API
125+
additionalProperties.put("isPredictClient", CLIENT.equals("predict"));
126+
124127
if (isAlgoliasearchClient) {
125128
// Files used to create the package.json of the algoliasearch package
126129
additionalProperties.put("analyticsVersion", Utils.getOpenApiToolsField("javascript", "analytics", "packageVersion"));

generators/src/main/java/com/algolia/codegen/cts/tests/TestsClient.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public TestsClient(String language, String client) {
1919

2020
@Override
2121
public boolean available() {
22-
// no `lite` client test for now
22+
// no `algoliasearch` client tests for now, only `lite`.
2323
if (language.equals("javascript") && client.equals("algoliasearch")) {
2424
return false;
2525
}
@@ -28,6 +28,15 @@ public boolean available() {
2828
return templates.exists();
2929
}
3030

31+
public boolean isTestAvailable(String testName) {
32+
// PRED-523 - tmp addition until the predict client supports user-agent in their API
33+
if (client.equals("predict") && testName.equals("calls api with correct user agent")) {
34+
return false;
35+
}
36+
37+
return true;
38+
}
39+
3140
@Override
3241
public void addSupportingFiles(List<SupportingFile> supportingFiles, String outputFolder, String extension) {
3342
if (!available()) {
@@ -50,6 +59,11 @@ public void run(Map<String, CodegenModel> models, Map<String, CodegenOperation>
5059
for (ClientTestData test : blockEntry.getValue()) {
5160
Map<String, Object> testOut = new HashMap<>();
5261
List<Object> steps = new ArrayList<>();
62+
63+
if (!isTestAvailable(test.testName)) {
64+
continue;
65+
}
66+
5367
testOut.put("testName", test.testName);
5468
testOut.put("testIndex", testIndex++);
5569
testOut.put("autoCreateClient", test.autoCreateClient);

templates/javascript/clients/api-single.mustache

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,14 @@ export function create{{capitalizedApiName}}({
1919
const transporter = createTransporter({
2020
hosts: getDefaultHosts({{^hasRegionalHost}}appIdOption{{/hasRegionalHost}}{{#hasRegionalHost}}regionOption{{/hasRegionalHost}}),
2121
...options,
22-
algoliaAgent: getAlgoliaAgent({
23-
algoliaAgents,
24-
client: '{{{algoliaAgent}}}',
25-
version: apiClientVersion,
26-
}),
22+
{{! // PRED-523 - tmp addition until the predict client supports user-agent in their API }}
23+
algoliaAgent:
24+
{{#isPredictClient}}
25+
{...getAlgoliaAgent({ algoliaAgents, client: '{{{algoliaAgent}}}', version: apiClientVersion }), value: '' },
26+
{{/isPredictClient}}
27+
{{^isPredictClient}}
28+
getAlgoliaAgent({ algoliaAgents, client: '{{{algoliaAgent}}}', version: apiClientVersion }),
29+
{{/isPredictClient}}
2730
baseHeaders: {
2831
'content-type': 'text/plain',
2932
...auth.headers(),

0 commit comments

Comments
 (0)