From eb828ea16713685f7fb46c04e5c1c7d3c11dc8ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Vannicatte?= Date: Wed, 18 May 2022 10:42:29 +0200 Subject: [PATCH 1/3] feat(templates): rename userAgent to algoliaAgent --- .../{UserAgent.java => AlgoliaAgent.java} | 4 ++-- .../packages/algoliasearch/builds/browser.ts | 2 +- .../packages/algoliasearch/builds/node.ts | 2 +- .../packages/client-common/index.ts | 4 ++-- .../client-common/src/createAlgoliaAgent.ts | 20 ++++++++++++++++ .../client-common/src/createEchoRequester.ts | 6 ++--- .../client-common/src/createUserAgent.ts | 20 ---------------- .../client-common/src/getAlgoliaAgent.ts | 23 +++++++++++++++++++ .../client-common/src/getUserAgent.ts | 23 ------------------- .../src/transporter/createTransporter.ts | 6 ++--- .../client-common/src/types/CreateClient.ts | 4 ++-- .../client-common/src/types/Requester.ts | 2 +- .../client-common/src/types/Transporter.ts | 10 ++++---- .../src/echoRequester.ts | 4 ++-- .../requester-node-http/src/echoRequester.ts | 4 ++-- .../RequestOptions/RequestOptionsFactory.php | 8 +++---- .../{UserAgent.php => AlgoliaAgent.php} | 4 ++-- .../codegen/AlgoliaJavascriptGenerator.java | 2 +- .../java/com/algolia/playground/Insights.java | 10 ++++---- .../java/com/algolia/playground/Search.java | 10 ++++---- playground/javascript/browser/app.ts | 2 +- playground/javascript/node/algoliasearch.ts | 2 +- playground/javascript/node/search.ts | 2 +- .../libraries/okhttp-gson/ApiClient.mustache | 18 +++++++-------- .../java/libraries/okhttp-gson/api.mustache | 16 ++++++------- templates/javascript/api-single.mustache | 14 +++++------ templates/javascript/browser.mustache | 2 +- templates/javascript/node.mustache | 2 +- templates/php/Configuration.mustache | 14 +++++------ tests/CTS/client/abtesting/api.json | 2 +- tests/CTS/client/analytics/api.json | 2 +- tests/CTS/client/insights/api.json | 2 +- tests/CTS/client/personalization/api.json | 2 +- tests/CTS/client/predict/api.json | 2 +- tests/CTS/client/query-suggestions/api.json | 2 +- tests/CTS/client/recommend/api.json | 2 +- tests/CTS/client/search/api.json | 2 +- tests/CTS/client/sources/api.json | 2 +- website/docs/api-clients/installation.mdx | 6 ++--- 39 files changed, 132 insertions(+), 132 deletions(-) rename clients/algoliasearch-client-java-2/algoliasearch-core/src/main/java/com/algolia/utils/{UserAgent.java => AlgoliaAgent.java} (94%) create mode 100644 clients/algoliasearch-client-javascript/packages/client-common/src/createAlgoliaAgent.ts delete mode 100644 clients/algoliasearch-client-javascript/packages/client-common/src/createUserAgent.ts create mode 100644 clients/algoliasearch-client-javascript/packages/client-common/src/getAlgoliaAgent.ts delete mode 100644 clients/algoliasearch-client-javascript/packages/client-common/src/getUserAgent.ts rename clients/algoliasearch-client-php/lib/Support/{UserAgent.php => AlgoliaAgent.php} (94%) diff --git a/clients/algoliasearch-client-java-2/algoliasearch-core/src/main/java/com/algolia/utils/UserAgent.java b/clients/algoliasearch-client-java-2/algoliasearch-core/src/main/java/com/algolia/utils/AlgoliaAgent.java similarity index 94% rename from clients/algoliasearch-client-java-2/algoliasearch-core/src/main/java/com/algolia/utils/UserAgent.java rename to clients/algoliasearch-client-java-2/algoliasearch-core/src/main/java/com/algolia/utils/AlgoliaAgent.java index a2341b39db..9090326085 100644 --- a/clients/algoliasearch-client-java-2/algoliasearch-core/src/main/java/com/algolia/utils/UserAgent.java +++ b/clients/algoliasearch-client-java-2/algoliasearch-core/src/main/java/com/algolia/utils/AlgoliaAgent.java @@ -3,13 +3,13 @@ import java.util.LinkedHashSet; import java.util.Set; -public class UserAgent { +public class AlgoliaAgent { private final Set segments; private String finalValue; - public UserAgent(String clientVersion) { + public AlgoliaAgent(String clientVersion) { this.finalValue = String.format("Algolia for Java (%s)", clientVersion); this.segments = new LinkedHashSet(); this.addSegment(new Segment("JVM", System.getProperty("java.version"))); diff --git a/clients/algoliasearch-client-javascript/packages/algoliasearch/builds/browser.ts b/clients/algoliasearch-client-javascript/packages/algoliasearch/builds/browser.ts index 201d55e66c..eb743a198a 100644 --- a/clients/algoliasearch-client-javascript/packages/algoliasearch/builds/browser.ts +++ b/clients/algoliasearch-client-javascript/packages/algoliasearch/builds/browser.ts @@ -45,7 +45,7 @@ export function algoliasearch( write: 30, }, requester: options?.requester ?? createXhrRequester(), - userAgents: [{ segment: 'Browser' }], + algoliaAgents: [{ segment: 'Browser' }], authMode: 'WithinQueryParameters', responsesCache: createMemoryCache(), requestsCache: createMemoryCache({ serializable: false }), diff --git a/clients/algoliasearch-client-javascript/packages/algoliasearch/builds/node.ts b/clients/algoliasearch-client-javascript/packages/algoliasearch/builds/node.ts index 7e2f758d66..ff2267b754 100644 --- a/clients/algoliasearch-client-javascript/packages/algoliasearch/builds/node.ts +++ b/clients/algoliasearch-client-javascript/packages/algoliasearch/builds/node.ts @@ -41,7 +41,7 @@ export function algoliasearch( write: 30, }, requester: options?.requester ?? createHttpRequester(), - userAgents: [{ segment: 'Node.js', version: process.versions.node }], + algoliaAgents: [{ segment: 'Node.js', version: process.versions.node }], responsesCache: createNullCache(), requestsCache: createNullCache(), hostsCache: createMemoryCache(), diff --git a/clients/algoliasearch-client-javascript/packages/client-common/index.ts b/clients/algoliasearch-client-javascript/packages/client-common/index.ts index 01f0e455c6..3438b7c572 100644 --- a/clients/algoliasearch-client-javascript/packages/client-common/index.ts +++ b/clients/algoliasearch-client-javascript/packages/client-common/index.ts @@ -2,6 +2,6 @@ export * from './src/createAuth'; export * from './src/createEchoRequester'; export * from './src/cache'; export * from './src/transporter'; -export * from './src/createUserAgent'; -export * from './src/getUserAgent'; +export * from './src/createAlgoliaAgent'; +export * from './src/getAlgoliaAgent'; export * from './src/types'; diff --git a/clients/algoliasearch-client-javascript/packages/client-common/src/createAlgoliaAgent.ts b/clients/algoliasearch-client-javascript/packages/client-common/src/createAlgoliaAgent.ts new file mode 100644 index 0000000000..5427ce78c5 --- /dev/null +++ b/clients/algoliasearch-client-javascript/packages/client-common/src/createAlgoliaAgent.ts @@ -0,0 +1,20 @@ +import type { AlgoliaAgentOptions, AlgoliaAgent } from './types'; + +export function createAlgoliaAgent(version: string): AlgoliaAgent { + const algoliaAgent = { + value: `Algolia for JavaScript (${version})`, + add(options: AlgoliaAgentOptions): AlgoliaAgent { + const addedAlgoliaAgent = `; ${options.segment}${ + options.version !== undefined ? ` (${options.version})` : '' + }`; + + if (algoliaAgent.value.indexOf(addedAlgoliaAgent) === -1) { + algoliaAgent.value = `${algoliaAgent.value}${addedAlgoliaAgent}`; + } + + return algoliaAgent; + }, + }; + + return algoliaAgent; +} diff --git a/clients/algoliasearch-client-javascript/packages/client-common/src/createEchoRequester.ts b/clients/algoliasearch-client-javascript/packages/client-common/src/createEchoRequester.ts index d184c7eaa6..2632d749bb 100644 --- a/clients/algoliasearch-client-javascript/packages/client-common/src/createEchoRequester.ts +++ b/clients/algoliasearch-client-javascript/packages/client-common/src/createEchoRequester.ts @@ -2,7 +2,7 @@ import type { EchoResponse, EndRequest, Request, Response } from './types'; export type UrlParams = { host: string; - userAgent: string; + algoliaAgent: string; searchParams: EchoResponse['searchParams']; }; @@ -20,7 +20,7 @@ export function createEchoRequester({ { headers, url, connectTimeout, responseTimeout }: EndRequest, { data, ...originalRequest }: Request ): Promise { - const { host, searchParams, userAgent } = getUrlParams(url); + const { host, searchParams, algoliaAgent } = getUrlParams(url); const originalData = data && Object.entries(data).length > 0 ? data : undefined; @@ -31,7 +31,7 @@ export function createEchoRequester({ headers, connectTimeout, responseTimeout, - userAgent: userAgent ? encodeURI(userAgent) : undefined, + algoliaAgent: algoliaAgent ? encodeURI(algoliaAgent) : undefined, searchParams, data: originalData, }), diff --git a/clients/algoliasearch-client-javascript/packages/client-common/src/createUserAgent.ts b/clients/algoliasearch-client-javascript/packages/client-common/src/createUserAgent.ts deleted file mode 100644 index 915a9c63ef..0000000000 --- a/clients/algoliasearch-client-javascript/packages/client-common/src/createUserAgent.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { UserAgentOptions, UserAgent } from './types'; - -export function createUserAgent(version: string): UserAgent { - const userAgent = { - value: `Algolia for JavaScript (${version})`, - add(options: UserAgentOptions): UserAgent { - const addedUserAgent = `; ${options.segment}${ - options.version !== undefined ? ` (${options.version})` : '' - }`; - - if (userAgent.value.indexOf(addedUserAgent) === -1) { - userAgent.value = `${userAgent.value}${addedUserAgent}`; - } - - return userAgent; - }, - }; - - return userAgent; -} diff --git a/clients/algoliasearch-client-javascript/packages/client-common/src/getAlgoliaAgent.ts b/clients/algoliasearch-client-javascript/packages/client-common/src/getAlgoliaAgent.ts new file mode 100644 index 0000000000..37e765aeed --- /dev/null +++ b/clients/algoliasearch-client-javascript/packages/client-common/src/getAlgoliaAgent.ts @@ -0,0 +1,23 @@ +import { createAlgoliaAgent } from './createAlgoliaAgent'; +import type { AlgoliaAgentOptions, AlgoliaAgent } from './types'; + +export type GetAlgoliaAgent = { + algoliaAgents: AlgoliaAgentOptions[]; + client: string; + version: string; +}; + +export function getAlgoliaAgent({ + algoliaAgents, + client, + version, +}: GetAlgoliaAgent): AlgoliaAgent { + const defaultAlgoliaAgent = createAlgoliaAgent(version).add({ + segment: client, + version, + }); + + algoliaAgents.forEach((algoliaAgent) => defaultAlgoliaAgent.add(algoliaAgent)); + + return defaultAlgoliaAgent; +} diff --git a/clients/algoliasearch-client-javascript/packages/client-common/src/getUserAgent.ts b/clients/algoliasearch-client-javascript/packages/client-common/src/getUserAgent.ts deleted file mode 100644 index 1f91ebb1b8..0000000000 --- a/clients/algoliasearch-client-javascript/packages/client-common/src/getUserAgent.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { createUserAgent } from './createUserAgent'; -import type { UserAgentOptions, UserAgent } from './types'; - -export type GetUserAgent = { - userAgents: UserAgentOptions[]; - client: string; - version: string; -}; - -export function getUserAgent({ - userAgents, - client, - version, -}: GetUserAgent): UserAgent { - const defaultUserAgent = createUserAgent(version).add({ - segment: client, - version, - }); - - userAgents.forEach((userAgent) => defaultUserAgent.add(userAgent)); - - return defaultUserAgent; -} diff --git a/clients/algoliasearch-client-javascript/packages/client-common/src/transporter/createTransporter.ts b/clients/algoliasearch-client-javascript/packages/client-common/src/transporter/createTransporter.ts index 230c4c4ca0..f322013ee5 100644 --- a/clients/algoliasearch-client-javascript/packages/client-common/src/transporter/createTransporter.ts +++ b/clients/algoliasearch-client-javascript/packages/client-common/src/transporter/createTransporter.ts @@ -36,7 +36,7 @@ export function createTransporter({ hostsCache, baseHeaders, baseQueryParameters, - userAgent, + algoliaAgent, timeouts, requester, requestsCache, @@ -107,7 +107,7 @@ export function createTransporter({ : {}; const queryParameters: QueryParameters = { - 'x-algolia-agent': userAgent.value, + 'x-algolia-agent': algoliaAgent.value, ...baseQueryParameters, ...dataQueryParameters, }; @@ -355,7 +355,7 @@ export function createTransporter({ hostsCache, requester, timeouts, - userAgent, + algoliaAgent, baseHeaders, baseQueryParameters, hosts, diff --git a/clients/algoliasearch-client-javascript/packages/client-common/src/types/CreateClient.ts b/clients/algoliasearch-client-javascript/packages/client-common/src/types/CreateClient.ts index e471d9ef0b..a6c3f630cb 100644 --- a/clients/algoliasearch-client-javascript/packages/client-common/src/types/CreateClient.ts +++ b/clients/algoliasearch-client-javascript/packages/client-common/src/types/CreateClient.ts @@ -3,7 +3,7 @@ import type { Host } from './Host'; import type { Requester } from './Requester'; import type { Timeouts, - UserAgentOptions, + AlgoliaAgentOptions, TransporterOptions, } from './Transporter'; @@ -17,7 +17,7 @@ export type CreateClientOptions = Pick< apiKey: string; requester: Requester; timeouts: Timeouts; - userAgents: UserAgentOptions[]; + algoliaAgents: AlgoliaAgentOptions[]; hosts?: Host[]; authMode?: AuthMode; }; diff --git a/clients/algoliasearch-client-javascript/packages/client-common/src/types/Requester.ts b/clients/algoliasearch-client-javascript/packages/client-common/src/types/Requester.ts index 63ee499e21..7ab396431c 100644 --- a/clients/algoliasearch-client-javascript/packages/client-common/src/types/Requester.ts +++ b/clients/algoliasearch-client-javascript/packages/client-common/src/types/Requester.ts @@ -37,5 +37,5 @@ export type EchoResponse = Request & { headers: Headers; responseTimeout: number; searchParams?: Record; - userAgent?: string; + algoliaAgent?: string; }; diff --git a/clients/algoliasearch-client-javascript/packages/client-common/src/types/Transporter.ts b/clients/algoliasearch-client-javascript/packages/client-common/src/types/Transporter.ts index bd711553cb..6a857c291f 100644 --- a/clients/algoliasearch-client-javascript/packages/client-common/src/types/Transporter.ts +++ b/clients/algoliasearch-client-javascript/packages/client-common/src/types/Transporter.ts @@ -45,7 +45,7 @@ export type StackFrame = { triesLeft: number; }; -export type UserAgentOptions = { +export type AlgoliaAgentOptions = { /** * The segment. Usually the integration name. */ @@ -57,7 +57,7 @@ export type UserAgentOptions = { version?: string; }; -export type UserAgent = { +export type AlgoliaAgent = { /** * The raw value of the user agent. */ @@ -66,7 +66,7 @@ export type UserAgent = { /** * Mutates the current user agent ading the given user agent options. */ - add: (options: UserAgentOptions) => UserAgent; + add: (options: AlgoliaAgentOptions) => AlgoliaAgent; }; export type Timeouts = { @@ -133,7 +133,7 @@ export type TransporterOptions = { /** * The user agent used. Sent on query parameters. */ - userAgent: UserAgent; + algoliaAgent: AlgoliaAgent; }; export type Transporter = { @@ -175,7 +175,7 @@ export type Transporter = { /** * The user agent used. Sent on query parameters. */ - userAgent: UserAgent; + algoliaAgent: AlgoliaAgent; /** * The headers used on each request. diff --git a/clients/algoliasearch-client-javascript/packages/requester-browser-xhr/src/echoRequester.ts b/clients/algoliasearch-client-javascript/packages/requester-browser-xhr/src/echoRequester.ts index e14d422a49..9dbd0e6cfa 100644 --- a/clients/algoliasearch-client-javascript/packages/requester-browser-xhr/src/echoRequester.ts +++ b/clients/algoliasearch-client-javascript/packages/requester-browser-xhr/src/echoRequester.ts @@ -3,7 +3,7 @@ import type { UrlParams } from '@experimental-api-clients-automation/client-comm function getUrlParams(url: string): UrlParams { const { host, searchParams: urlSearchParams } = new URL(url); - const userAgent = urlSearchParams.get('x-algolia-agent') || ''; + const algoliaAgent = urlSearchParams.get('x-algolia-agent') || ''; const searchParams = {}; for (const [k, v] of urlSearchParams) { @@ -16,7 +16,7 @@ function getUrlParams(url: string): UrlParams { return { host, - userAgent, + algoliaAgent, searchParams: Object.entries(searchParams).length === 0 ? undefined : searchParams, }; diff --git a/clients/algoliasearch-client-javascript/packages/requester-node-http/src/echoRequester.ts b/clients/algoliasearch-client-javascript/packages/requester-node-http/src/echoRequester.ts index f398a0b5f1..57f81d943a 100644 --- a/clients/algoliasearch-client-javascript/packages/requester-node-http/src/echoRequester.ts +++ b/clients/algoliasearch-client-javascript/packages/requester-node-http/src/echoRequester.ts @@ -5,7 +5,7 @@ import type { UrlParams } from '@experimental-api-clients-automation/client-comm function getUrlParams(url: string): UrlParams { const { host, searchParams: urlSearchParams } = new URL(url); - const userAgent = urlSearchParams.get('x-algolia-agent') || ''; + const algoliaAgent = urlSearchParams.get('x-algolia-agent') || ''; const searchParams = {}; for (const [k, v] of urlSearchParams) { @@ -18,7 +18,7 @@ function getUrlParams(url: string): UrlParams { return { host, - userAgent, + algoliaAgent, searchParams: Object.entries(searchParams).length === 0 ? undefined : searchParams, }; diff --git a/clients/algoliasearch-client-php/lib/RequestOptions/RequestOptionsFactory.php b/clients/algoliasearch-client-php/lib/RequestOptions/RequestOptionsFactory.php index 9f32631693..c271d91b15 100644 --- a/clients/algoliasearch-client-php/lib/RequestOptions/RequestOptionsFactory.php +++ b/clients/algoliasearch-client-php/lib/RequestOptions/RequestOptionsFactory.php @@ -3,7 +3,7 @@ namespace Algolia\AlgoliaSearch\RequestOptions; use Algolia\AlgoliaSearch\Configuration\Configuration; -use Algolia\AlgoliaSearch\Support\UserAgent; +use Algolia\AlgoliaSearch\Support\AlgoliaAgent; final class RequestOptionsFactory { @@ -50,9 +50,9 @@ private function normalize($options) 'headers' => [ 'X-Algolia-Application-Id' => $this->config->getAppId(), 'X-Algolia-API-Key' => $this->config->getAlgoliaApiKey(), - 'User-Agent' => $this->config->getUserAgent() !== null - ? $this->config->getUserAgent() - : UserAgent::get(), + 'User-Agent' => $this->config->getAlgoliaAgent() !== null + ? $this->config->getAlgoliaAgent() + : AlgoliaAgent::get(), 'Content-Type' => 'application/json', ], 'queryParameters' => [], diff --git a/clients/algoliasearch-client-php/lib/Support/UserAgent.php b/clients/algoliasearch-client-php/lib/Support/AlgoliaAgent.php similarity index 94% rename from clients/algoliasearch-client-php/lib/Support/UserAgent.php rename to clients/algoliasearch-client-php/lib/Support/AlgoliaAgent.php index 64c19ff3a1..56139a4cc5 100644 --- a/clients/algoliasearch-client-php/lib/Support/UserAgent.php +++ b/clients/algoliasearch-client-php/lib/Support/AlgoliaAgent.php @@ -4,7 +4,7 @@ use Algolia\AlgoliaSearch\Algolia; -final class UserAgent +final class AlgoliaAgent { private static $value; @@ -19,7 +19,7 @@ public static function get() return self::$value; } - public static function addCustomUserAgent($segment, $version) + public static function addCustomAlgoliaAgent($segment, $version) { self::$value = null; self::$customSegments[trim($segment, ' ')] = trim($version, ' '); diff --git a/generators/src/main/java/com/algolia/codegen/AlgoliaJavascriptGenerator.java b/generators/src/main/java/com/algolia/codegen/AlgoliaJavascriptGenerator.java index cd331c13b3..5b4e7c45cc 100644 --- a/generators/src/main/java/com/algolia/codegen/AlgoliaJavascriptGenerator.java +++ b/generators/src/main/java/com/algolia/codegen/AlgoliaJavascriptGenerator.java @@ -59,7 +59,7 @@ private void setDefaultGeneratorOptions() { additionalProperties.put("apiName", apiName); additionalProperties.put("capitalizedApiName", Utils.capitalize(apiName)); - additionalProperties.put("userAgent", Utils.capitalize(CLIENT)); + additionalProperties.put("algoliaAgent", Utils.capitalize(CLIENT)); additionalProperties.put("gitRepoId", "algoliasearch-client-javascript"); } diff --git a/playground/java/src/main/java/com/algolia/playground/Insights.java b/playground/java/src/main/java/com/algolia/playground/Insights.java index 3c47c16d13..995674bc10 100644 --- a/playground/java/src/main/java/com/algolia/playground/Insights.java +++ b/playground/java/src/main/java/com/algolia/playground/Insights.java @@ -5,7 +5,7 @@ import com.algolia.exceptions.AlgoliaRuntimeException; import com.algolia.model.insights.*; import com.algolia.api.InsightsClient; -import com.algolia.utils.UserAgent; +import com.algolia.utils.AlgoliaAgent; import io.github.cdimascio.dotenv.Dotenv; public class Insights { @@ -15,10 +15,10 @@ public static void main(String[] args) { InsightsClient client = new InsightsClient( dotenv.get("ALGOLIA_APPLICATION_ID"), dotenv.get("ALGOLIA_SEARCH_KEY"), - new UserAgent.Segment[] { - new UserAgent.Segment("test", "8.0.0"), - new UserAgent.Segment("JVM", "11.0.14"), - new UserAgent.Segment("no version"), + new AlgoliaAgent.Segment[] { + new AlgoliaAgent.Segment("test", "8.0.0"), + new AlgoliaAgent.Segment("JVM", "11.0.14"), + new AlgoliaAgent.Segment("no version"), } ); diff --git a/playground/java/src/main/java/com/algolia/playground/Search.java b/playground/java/src/main/java/com/algolia/playground/Search.java index c650ab5f50..b1b93726c9 100644 --- a/playground/java/src/main/java/com/algolia/playground/Search.java +++ b/playground/java/src/main/java/com/algolia/playground/Search.java @@ -5,7 +5,7 @@ import com.algolia.exceptions.AlgoliaRuntimeException; import com.algolia.model.search.*; import com.algolia.api.SearchClient; -import com.algolia.utils.UserAgent; +import com.algolia.utils.AlgoliaAgent; import io.github.cdimascio.dotenv.Dotenv; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; @@ -19,10 +19,10 @@ public static void main(String[] args) { SearchClient client = new SearchClient( dotenv.get("ALGOLIA_APPLICATION_ID"), dotenv.get("ALGOLIA_SEARCH_KEY"), - new UserAgent.Segment[] { - new UserAgent.Segment("test", "8.0.0"), - new UserAgent.Segment("JVM", "11.0.14"), - new UserAgent.Segment("no version"), + new AlgoliaAgent.Segment[] { + new AlgoliaAgent.Segment("test", "8.0.0"), + new AlgoliaAgent.Segment("JVM", "11.0.14"), + new AlgoliaAgent.Segment("no version"), } ); diff --git a/playground/javascript/browser/app.ts b/playground/javascript/browser/app.ts index 0044cb3633..3b8ad3e96e 100644 --- a/playground/javascript/browser/app.ts +++ b/playground/javascript/browser/app.ts @@ -4,7 +4,7 @@ import './app.css'; const client = searchClient('QPBQ67WNIG', 'b590ae1153bf574215ca1605c19eb1fe'); -client.addUserAgent('Browser playground', '0.0.1'); +client.addAlgoliaAgent('Browser playground', '0.0.1'); const searchButton = document.querySelector('#search'); diff --git a/playground/javascript/node/algoliasearch.ts b/playground/javascript/node/algoliasearch.ts index a0f7c5de2a..aa214ec739 100644 --- a/playground/javascript/node/algoliasearch.ts +++ b/playground/javascript/node/algoliasearch.ts @@ -27,7 +27,7 @@ const personalizationApiKey = // Init client with appId and apiKey const client = algoliasearch(appId, apiKey); -client.addUserAgent('algoliasearch node playground', '0.0.1'); +client.addAlgoliaAgent('algoliasearch node playground', '0.0.1'); async function testAlgoliasearch() { try { diff --git a/playground/javascript/node/search.ts b/playground/javascript/node/search.ts index 54799bf46c..3f77099c0d 100644 --- a/playground/javascript/node/search.ts +++ b/playground/javascript/node/search.ts @@ -13,7 +13,7 @@ const searchQuery = process.env.SEARCH_QUERY || 'test_query'; // Init client with appId and apiKey const client = searchClient(appId, apiKey); -client.addUserAgent('Node playground', '0.0.1'); +client.addAlgoliaAgent('Node playground', '0.0.1'); async function testSearch() { try { diff --git a/templates/java/libraries/okhttp-gson/ApiClient.mustache b/templates/java/libraries/okhttp-gson/ApiClient.mustache index 45f0914d12..5e8ab2abeb 100644 --- a/templates/java/libraries/okhttp-gson/ApiClient.mustache +++ b/templates/java/libraries/okhttp-gson/ApiClient.mustache @@ -2,7 +2,7 @@ package {{invokerPackage}}; import com.algolia.utils.Requester; import com.algolia.exceptions.*; -import com.algolia.utils.UserAgent; +import com.algolia.utils.AlgoliaAgent; import com.algolia.utils.JSON; import com.algolia.utils.RequestOptions; @@ -37,17 +37,17 @@ public class ApiClient { /* * Constructor for ApiClient with custom Requester */ - public ApiClient(String appId, String apiKey, Requester requester, String clientName, UserAgent.Segment[] segments) { + public ApiClient(String appId, String apiKey, Requester requester, String clientName, AlgoliaAgent.Segment[] segments) { this.contentType = "application/json"; - UserAgent ua = new UserAgent("{{packageVersion}}"); - ua.addSegment(new UserAgent.Segment(clientName, "{{packageVersion}}")); + AlgoliaAgent ua = new AlgoliaAgent("{{packageVersion}}"); + ua.addSegment(new AlgoliaAgent.Segment(clientName, "{{packageVersion}}")); if(segments != null) { - for(UserAgent.Segment segment : segments) { + for(AlgoliaAgent.Segment segment : segments) { ua.addSegment(segment); } } - setUserAgent(ua.toString()); + setAlgoliaAgent(ua.toString()); defaultHeaderMap.put("X-Algolia-Application-Id", appId); defaultHeaderMap.put("X-Algolia-API-Key", apiKey); @@ -64,11 +64,11 @@ public class ApiClient { /** * Set the User-Agent header's value (by adding to the default header map). * - * @param userAgent HTTP request's user agent + * @param algoliaAgent HTTP request's user agent * @return ApiClient */ - public ApiClient setUserAgent(String userAgent) { - addDefaultHeader("User-Agent", userAgent); + public ApiClient setAlgoliaAgent(String algoliaAgent) { + addDefaultHeader("User-Agent", algoliaAgent); return this; } diff --git a/templates/java/libraries/okhttp-gson/api.mustache b/templates/java/libraries/okhttp-gson/api.mustache index e4965b5516..74033b6e85 100644 --- a/templates/java/libraries/okhttp-gson/api.mustache +++ b/templates/java/libraries/okhttp-gson/api.mustache @@ -36,8 +36,8 @@ public class {{classname}} extends ApiClient { this(appId, apiKey, new HttpRequester(getDefaultHosts(null)), null); } - public {{classname}}(String appId, String apiKey, UserAgent.Segment[] userAgentSegments) { - this(appId, apiKey, new HttpRequester(getDefaultHosts(null)), userAgentSegments); + public {{classname}}(String appId, String apiKey, AlgoliaAgent.Segment[] algoliaAgentSegments) { + this(appId, apiKey, new HttpRequester(getDefaultHosts(null)), algoliaAgentSegments); } {{/fallbackToAliasHost}} @@ -45,8 +45,8 @@ public class {{classname}} extends ApiClient { this(appId, apiKey, new HttpRequester(getDefaultHosts(region)), null); } - public {{classname}}(String appId, String apiKey, String region, UserAgent.Segment[] userAgentSegments) { - this(appId, apiKey, new HttpRequester(getDefaultHosts(region)), userAgentSegments); + public {{classname}}(String appId, String apiKey, String region, AlgoliaAgent.Segment[] algoliaAgentSegments) { + this(appId, apiKey, new HttpRequester(getDefaultHosts(region)), algoliaAgentSegments); } {{/hasRegionalHost}} @@ -55,8 +55,8 @@ public class {{classname}} extends ApiClient { this(appId, apiKey, new HttpRequester(getDefaultHosts(appId)), null); } - public {{classname}}(String appId, String apiKey, UserAgent.Segment[] userAgentSegments) { - this(appId, apiKey, new HttpRequester(getDefaultHosts(appId)), userAgentSegments); + public {{classname}}(String appId, String apiKey, AlgoliaAgent.Segment[] algoliaAgentSegments) { + this(appId, apiKey, new HttpRequester(getDefaultHosts(appId)), algoliaAgentSegments); } {{/hasRegionalHost}} @@ -64,8 +64,8 @@ public class {{classname}} extends ApiClient { this(appId, apiKey, requester, null); } - public {{classname}}(String appId, String apiKey, Requester requester, UserAgent.Segment[] userAgentSegments) { - super(appId, apiKey, requester, "{{{baseName}}}", userAgentSegments); + public {{classname}}(String appId, String apiKey, Requester requester, AlgoliaAgent.Segment[] algoliaAgentSegments) { + super(appId, apiKey, requester, "{{{baseName}}}", algoliaAgentSegments); } {{^hasRegionalHost}} diff --git a/templates/javascript/api-single.mustache b/templates/javascript/api-single.mustache index 0f88aaa4f4..2de72ab276 100644 --- a/templates/javascript/api-single.mustache +++ b/templates/javascript/api-single.mustache @@ -1,7 +1,7 @@ import { createAuth, createTransporter, - getUserAgent, + getAlgoliaAgent, shuffle, } from '@experimental-api-clients-automation/client-common'; import type { @@ -89,21 +89,21 @@ export function create{{capitalizedApiName}}(options: CreateClientOptions{{#hasR ...auth.headers(), }, baseQueryParameters: auth.queryParameters(), - userAgent: getUserAgent({ - userAgents: options.userAgents, - client: '{{{userAgent}}}', + algoliaAgent: getAlgoliaAgent({ + algoliaAgents: options.algoliaAgents, + client: '{{{algoliaAgent}}}', version: apiClientVersion, }), timeouts: options.timeouts, requester: options.requester, }); - function addUserAgent(segment: string, version?: string): void { - transporter.userAgent.add({ segment, version }); + function addAlgoliaAgent(segment: string, version?: string): void { + transporter.algoliaAgent.add({ segment, version }); } return { - addUserAgent, + addAlgoliaAgent, {{#operation}} /** {{#notes}} diff --git a/templates/javascript/browser.mustache b/templates/javascript/browser.mustache index af39da090b..57eeb20041 100644 --- a/templates/javascript/browser.mustache +++ b/templates/javascript/browser.mustache @@ -41,7 +41,7 @@ export function {{apiName}}( write: 30, }, requester: options?.requester ?? createXhrRequester(), - userAgents: [{ segment: 'Browser' }], + algoliaAgents: [{ segment: 'Browser' }], authMode: 'WithinQueryParameters', responsesCache: options?.responsesCache ?? createMemoryCache(), requestsCache: options?.requestsCache ?? createMemoryCache({ serializable: false }), diff --git a/templates/javascript/node.mustache b/templates/javascript/node.mustache index 3edb262482..140b88c34a 100644 --- a/templates/javascript/node.mustache +++ b/templates/javascript/node.mustache @@ -41,7 +41,7 @@ export function {{apiName}}( write: 30, }, requester: options?.requester ?? createHttpRequester(), - userAgents: [{ segment: 'Node.js', version: process.versions.node }], + algoliaAgents: [{ segment: 'Node.js', version: process.versions.node }], responsesCache: options?.responsesCache ?? createNullCache(), requestsCache: options?.requestsCache ?? createNullCache(), hostsCache: options?.hostsCache ?? createMemoryCache(), diff --git a/templates/php/Configuration.mustache b/templates/php/Configuration.mustache index 56470f5c06..91502981ba 100644 --- a/templates/php/Configuration.mustache +++ b/templates/php/Configuration.mustache @@ -30,7 +30,7 @@ abstract class Configuration * * @var string */ - protected $userAgent = null; + protected $algoliaAgent = null; /** * Debug switch (default set to false) @@ -252,19 +252,19 @@ abstract class Configuration /** * Sets the user agent of the api client * - * @param string $userAgent the user agent of the api client + * @param string $algoliaAgent the user agent of the api client * * @throws \InvalidArgumentException * * @return $this */ - public function setUserAgent($userAgent) + public function setAlgoliaAgent($algoliaAgent) { - if (!is_string($userAgent)) { + if (!is_string($algoliaAgent)) { throw new \InvalidArgumentException('User-agent must be a string.'); } - $this->userAgent = $userAgent; + $this->algoliaAgent = $algoliaAgent; return $this; } @@ -274,8 +274,8 @@ abstract class Configuration * * @return string user agent */ - public function getUserAgent() + public function getAlgoliaAgent() { - return $this->userAgent; + return $this->algoliaAgent; } } diff --git a/tests/CTS/client/abtesting/api.json b/tests/CTS/client/abtesting/api.json index b18b33f45b..537ea53da3 100644 --- a/tests/CTS/client/abtesting/api.json +++ b/tests/CTS/client/abtesting/api.json @@ -19,7 +19,7 @@ } ], "expected": { - "testSubject": "actual.userAgent", + "testSubject": "actual.algoliaAgent", "match": { "regexp": "/Algolia%20for%20(.+)%20\\(\\d+\\.\\d+\\.\\d+\\)/" } diff --git a/tests/CTS/client/analytics/api.json b/tests/CTS/client/analytics/api.json index 9811c29a2d..ef76a25f40 100644 --- a/tests/CTS/client/analytics/api.json +++ b/tests/CTS/client/analytics/api.json @@ -12,7 +12,7 @@ } ], "expected": { - "testSubject": "actual.userAgent", + "testSubject": "actual.algoliaAgent", "match": { "regexp": "/Algolia%20for%20(.+)%20\\(\\d+\\.\\d+\\.\\d+\\)/" } diff --git a/tests/CTS/client/insights/api.json b/tests/CTS/client/insights/api.json index 1256ff24a4..71239eb2c3 100644 --- a/tests/CTS/client/insights/api.json +++ b/tests/CTS/client/insights/api.json @@ -12,7 +12,7 @@ } ], "expected": { - "testSubject": "actual.userAgent", + "testSubject": "actual.algoliaAgent", "match": { "regexp": "/Algolia%20for%20(.+)%20\\(\\d+\\.\\d+\\.\\d+\\)/" } diff --git a/tests/CTS/client/personalization/api.json b/tests/CTS/client/personalization/api.json index fa8e43d7fa..4d3c29e1ad 100644 --- a/tests/CTS/client/personalization/api.json +++ b/tests/CTS/client/personalization/api.json @@ -8,7 +8,7 @@ "path": "getPersonalizationStrategy", "parameters": [], "expected": { - "testSubject": "actual.userAgent", + "testSubject": "actual.algoliaAgent", "match": { "regexp": "/Algolia%20for%20(.+)%20\\(\\d+\\.\\d+\\.\\d+\\)/" } diff --git a/tests/CTS/client/predict/api.json b/tests/CTS/client/predict/api.json index 5045cf56c2..f2d0632b1c 100644 --- a/tests/CTS/client/predict/api.json +++ b/tests/CTS/client/predict/api.json @@ -17,7 +17,7 @@ } ], "expected": { - "testSubject": "actual.userAgent", + "testSubject": "actual.algoliaAgent", "match": { "regexp": "/Algolia%20for%20(.+)%20\\(\\d+\\.\\d+\\.\\d+\\)/" } diff --git a/tests/CTS/client/query-suggestions/api.json b/tests/CTS/client/query-suggestions/api.json index 17baa792b5..da59a8a5f8 100644 --- a/tests/CTS/client/query-suggestions/api.json +++ b/tests/CTS/client/query-suggestions/api.json @@ -10,7 +10,7 @@ {} ], "expected": { - "testSubject": "actual.userAgent", + "testSubject": "actual.algoliaAgent", "match": { "regexp": "/Algolia%20for%20(.+)%20\\(\\d+\\.\\d+\\.\\d+\\)/" } diff --git a/tests/CTS/client/recommend/api.json b/tests/CTS/client/recommend/api.json index b7adaf06e6..ae23150e0c 100644 --- a/tests/CTS/client/recommend/api.json +++ b/tests/CTS/client/recommend/api.json @@ -34,7 +34,7 @@ } ], "expected": { - "testSubject": "actual.userAgent", + "testSubject": "actual.algoliaAgent", "match": { "regexp": "/Algolia%20for%20(.+)%20\\(\\d+\\.\\d+\\.\\d+\\)/" } diff --git a/tests/CTS/client/search/api.json b/tests/CTS/client/search/api.json index a51355c85c..83c38f3fed 100644 --- a/tests/CTS/client/search/api.json +++ b/tests/CTS/client/search/api.json @@ -36,7 +36,7 @@ } ], "expected": { - "testSubject": "actual.userAgent", + "testSubject": "actual.algoliaAgent", "match": { "regexp": "/Algolia%20for%20(.+)%20\\(\\d+\\.\\d+\\.\\d+\\)/" } diff --git a/tests/CTS/client/sources/api.json b/tests/CTS/client/sources/api.json index d0e62ab113..4dbd7b5185 100644 --- a/tests/CTS/client/sources/api.json +++ b/tests/CTS/client/sources/api.json @@ -50,7 +50,7 @@ } ], "expected": { - "testSubject": "actual.userAgent", + "testSubject": "actual.algoliaAgent", "match": { "regexp": "/Algolia%20for%20(.+)%20\\(\\d+\\.\\d+\\.\\d+\\)/" } diff --git a/website/docs/api-clients/installation.mdx b/website/docs/api-clients/installation.mdx index f75041b268..2a33bbfc4b 100644 --- a/website/docs/api-clients/installation.mdx +++ b/website/docs/api-clients/installation.mdx @@ -207,13 +207,13 @@ public class AlgoliaTest { You can add segments to the `User Agent`: ```java -import com.algolia.utils.UserAgent; +import com.algolia.utils.AlgoliaAgent; SearchClient client = new SearchClient( "", "", - new UserAgent.Segment[] { - new UserAgent.Segment("tracker", "8.0.0") + new AlgoliaAgent.Segment[] { + new AlgoliaAgent.Segment("tracker", "8.0.0") } ); ``` From 48db0ad25c88f74159970ab1bb5d691d302763eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Vannicatte?= Date: Wed, 18 May 2022 10:42:48 +0200 Subject: [PATCH 2/3] restore utils for Algoliasearch --- .github/workflows/check.yml | 6 ++++++ .../packages/client-common/src/getAlgoliaAgent.ts | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 82bc82134c..cf1cf0825c 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -272,6 +272,12 @@ jobs: with: type: minimal + - name: Download JavaScript utils artifacts + if: ${{ steps.cache.outputs.cache-hit != 'true' }} + uses: ./.github/actions/restore-artifacts + with: + type: js_utils + - name: Build 'algoliasearch' client if: ${{ steps.cache.outputs.cache-hit != 'true' }} run: yarn cli build clients javascript algoliasearch diff --git a/clients/algoliasearch-client-javascript/packages/client-common/src/getAlgoliaAgent.ts b/clients/algoliasearch-client-javascript/packages/client-common/src/getAlgoliaAgent.ts index 37e765aeed..9c696660a9 100644 --- a/clients/algoliasearch-client-javascript/packages/client-common/src/getAlgoliaAgent.ts +++ b/clients/algoliasearch-client-javascript/packages/client-common/src/getAlgoliaAgent.ts @@ -17,7 +17,9 @@ export function getAlgoliaAgent({ version, }); - algoliaAgents.forEach((algoliaAgent) => defaultAlgoliaAgent.add(algoliaAgent)); + algoliaAgents.forEach((algoliaAgent) => + defaultAlgoliaAgent.add(algoliaAgent) + ); return defaultAlgoliaAgent; } From 809b1bef2b50d8831bff0b4d2c6066d39c232642 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Vannicatte?= Date: Wed, 18 May 2022 10:57:37 +0200 Subject: [PATCH 3/3] algoliasearch deps --- .github/workflows/check.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index cf1cf0825c..1ba040ab5d 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -272,11 +272,12 @@ jobs: with: type: minimal - - name: Download JavaScript utils artifacts + - name: Download JavaScript clients if: ${{ steps.cache.outputs.cache-hit != 'true' }} uses: ./.github/actions/restore-artifacts with: - type: js_utils + javascript: true + type: all - name: Build 'algoliasearch' client if: ${{ steps.cache.outputs.cache-hit != 'true' }}