Skip to content

Commit 0389b9d

Browse files
Haroenvshortcuts
andauthored
feat(templates): rename userAgent to algoliaAgent (#508)
Co-authored-by: Clément Vannicatte <[email protected]>
1 parent e400a96 commit 0389b9d

File tree

40 files changed

+141
-132
lines changed

40 files changed

+141
-132
lines changed

.github/workflows/check.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,13 @@ jobs:
272272
with:
273273
type: minimal
274274

275+
- name: Download JavaScript clients
276+
if: ${{ steps.cache.outputs.cache-hit != 'true' }}
277+
uses: ./.github/actions/restore-artifacts
278+
with:
279+
javascript: true
280+
type: all
281+
275282
- name: Build 'algoliasearch' client
276283
if: ${{ steps.cache.outputs.cache-hit != 'true' }}
277284
run: yarn cli build clients javascript algoliasearch

clients/algoliasearch-client-java-2/algoliasearch-core/src/main/java/com/algolia/utils/UserAgent.java renamed to clients/algoliasearch-client-java-2/algoliasearch-core/src/main/java/com/algolia/utils/AlgoliaAgent.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
import java.util.LinkedHashSet;
44
import java.util.Set;
55

6-
public class UserAgent {
6+
public class AlgoliaAgent {
77

88
private final Set<String> segments;
99

1010
private String finalValue;
1111

12-
public UserAgent(String clientVersion) {
12+
public AlgoliaAgent(String clientVersion) {
1313
this.finalValue = String.format("Algolia for Java (%s)", clientVersion);
1414
this.segments = new LinkedHashSet<String>();
1515
this.addSegment(new Segment("JVM", System.getProperty("java.version")));

clients/algoliasearch-client-javascript/packages/algoliasearch/builds/browser.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export function algoliasearch(
4545
write: 30,
4646
},
4747
requester: options?.requester ?? createXhrRequester(),
48-
userAgents: [{ segment: 'Browser' }],
48+
algoliaAgents: [{ segment: 'Browser' }],
4949
authMode: 'WithinQueryParameters',
5050
responsesCache: createMemoryCache(),
5151
requestsCache: createMemoryCache({ serializable: false }),

clients/algoliasearch-client-javascript/packages/algoliasearch/builds/node.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export function algoliasearch(
4141
write: 30,
4242
},
4343
requester: options?.requester ?? createHttpRequester(),
44-
userAgents: [{ segment: 'Node.js', version: process.versions.node }],
44+
algoliaAgents: [{ segment: 'Node.js', version: process.versions.node }],
4545
responsesCache: createNullCache(),
4646
requestsCache: createNullCache(),
4747
hostsCache: createMemoryCache(),

clients/algoliasearch-client-javascript/packages/client-common/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ export * from './src/createAuth';
22
export * from './src/createEchoRequester';
33
export * from './src/cache';
44
export * from './src/transporter';
5-
export * from './src/createUserAgent';
6-
export * from './src/getUserAgent';
5+
export * from './src/createAlgoliaAgent';
6+
export * from './src/getAlgoliaAgent';
77
export * from './src/types';
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import type { AlgoliaAgentOptions, AlgoliaAgent } from './types';
2+
3+
export function createAlgoliaAgent(version: string): AlgoliaAgent {
4+
const algoliaAgent = {
5+
value: `Algolia for JavaScript (${version})`,
6+
add(options: AlgoliaAgentOptions): AlgoliaAgent {
7+
const addedAlgoliaAgent = `; ${options.segment}${
8+
options.version !== undefined ? ` (${options.version})` : ''
9+
}`;
10+
11+
if (algoliaAgent.value.indexOf(addedAlgoliaAgent) === -1) {
12+
algoliaAgent.value = `${algoliaAgent.value}${addedAlgoliaAgent}`;
13+
}
14+
15+
return algoliaAgent;
16+
},
17+
};
18+
19+
return algoliaAgent;
20+
}

clients/algoliasearch-client-javascript/packages/client-common/src/createEchoRequester.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { EchoResponse, EndRequest, Request, Response } from './types';
22

33
export type UrlParams = {
44
host: string;
5-
userAgent: string;
5+
algoliaAgent: string;
66
searchParams: EchoResponse['searchParams'];
77
};
88

@@ -20,7 +20,7 @@ export function createEchoRequester({
2020
{ headers, url, connectTimeout, responseTimeout }: EndRequest,
2121
{ data, ...originalRequest }: Request
2222
): Promise<Response> {
23-
const { host, searchParams, userAgent } = getUrlParams(url);
23+
const { host, searchParams, algoliaAgent } = getUrlParams(url);
2424
const originalData =
2525
data && Object.entries(data).length > 0 ? data : undefined;
2626

@@ -31,7 +31,7 @@ export function createEchoRequester({
3131
headers,
3232
connectTimeout,
3333
responseTimeout,
34-
userAgent: userAgent ? encodeURI(userAgent) : undefined,
34+
algoliaAgent: algoliaAgent ? encodeURI(algoliaAgent) : undefined,
3535
searchParams,
3636
data: originalData,
3737
}),

clients/algoliasearch-client-javascript/packages/client-common/src/createUserAgent.ts

Lines changed: 0 additions & 20 deletions
This file was deleted.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { createAlgoliaAgent } from './createAlgoliaAgent';
2+
import type { AlgoliaAgentOptions, AlgoliaAgent } from './types';
3+
4+
export type GetAlgoliaAgent = {
5+
algoliaAgents: AlgoliaAgentOptions[];
6+
client: string;
7+
version: string;
8+
};
9+
10+
export function getAlgoliaAgent({
11+
algoliaAgents,
12+
client,
13+
version,
14+
}: GetAlgoliaAgent): AlgoliaAgent {
15+
const defaultAlgoliaAgent = createAlgoliaAgent(version).add({
16+
segment: client,
17+
version,
18+
});
19+
20+
algoliaAgents.forEach((algoliaAgent) =>
21+
defaultAlgoliaAgent.add(algoliaAgent)
22+
);
23+
24+
return defaultAlgoliaAgent;
25+
}

clients/algoliasearch-client-javascript/packages/client-common/src/getUserAgent.ts

Lines changed: 0 additions & 23 deletions
This file was deleted.

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export function createTransporter({
3636
hostsCache,
3737
baseHeaders,
3838
baseQueryParameters,
39-
userAgent,
39+
algoliaAgent,
4040
timeouts,
4141
requester,
4242
requestsCache,
@@ -107,7 +107,7 @@ export function createTransporter({
107107
: {};
108108

109109
const queryParameters: QueryParameters = {
110-
'x-algolia-agent': userAgent.value,
110+
'x-algolia-agent': algoliaAgent.value,
111111
...baseQueryParameters,
112112
...dataQueryParameters,
113113
};
@@ -355,7 +355,7 @@ export function createTransporter({
355355
hostsCache,
356356
requester,
357357
timeouts,
358-
userAgent,
358+
algoliaAgent,
359359
baseHeaders,
360360
baseQueryParameters,
361361
hosts,

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { Host } from './Host';
33
import type { Requester } from './Requester';
44
import type {
55
Timeouts,
6-
UserAgentOptions,
6+
AlgoliaAgentOptions,
77
TransporterOptions,
88
} from './Transporter';
99

@@ -17,7 +17,7 @@ export type CreateClientOptions = Pick<
1717
apiKey: string;
1818
requester: Requester;
1919
timeouts: Timeouts;
20-
userAgents: UserAgentOptions[];
20+
algoliaAgents: AlgoliaAgentOptions[];
2121
hosts?: Host[];
2222
authMode?: AuthMode;
2323
};

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,5 @@ export type EchoResponse = Request & {
3737
headers: Headers;
3838
responseTimeout: number;
3939
searchParams?: Record<string, string>;
40-
userAgent?: string;
40+
algoliaAgent?: string;
4141
};

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export type StackFrame = {
4545
triesLeft: number;
4646
};
4747

48-
export type UserAgentOptions = {
48+
export type AlgoliaAgentOptions = {
4949
/**
5050
* The segment. Usually the integration name.
5151
*/
@@ -57,7 +57,7 @@ export type UserAgentOptions = {
5757
version?: string;
5858
};
5959

60-
export type UserAgent = {
60+
export type AlgoliaAgent = {
6161
/**
6262
* The raw value of the user agent.
6363
*/
@@ -66,7 +66,7 @@ export type UserAgent = {
6666
/**
6767
* Mutates the current user agent ading the given user agent options.
6868
*/
69-
add: (options: UserAgentOptions) => UserAgent;
69+
add: (options: AlgoliaAgentOptions) => AlgoliaAgent;
7070
};
7171

7272
export type Timeouts = {
@@ -133,7 +133,7 @@ export type TransporterOptions = {
133133
/**
134134
* The user agent used. Sent on query parameters.
135135
*/
136-
userAgent: UserAgent;
136+
algoliaAgent: AlgoliaAgent;
137137
};
138138

139139
export type Transporter = {
@@ -175,7 +175,7 @@ export type Transporter = {
175175
/**
176176
* The user agent used. Sent on query parameters.
177177
*/
178-
userAgent: UserAgent;
178+
algoliaAgent: AlgoliaAgent;
179179

180180
/**
181181
* The headers used on each request.

clients/algoliasearch-client-javascript/packages/requester-browser-xhr/src/echoRequester.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { UrlParams } from '@experimental-api-clients-automation/client-comm
33

44
function getUrlParams(url: string): UrlParams {
55
const { host, searchParams: urlSearchParams } = new URL(url);
6-
const userAgent = urlSearchParams.get('x-algolia-agent') || '';
6+
const algoliaAgent = urlSearchParams.get('x-algolia-agent') || '';
77
const searchParams = {};
88

99
for (const [k, v] of urlSearchParams) {
@@ -16,7 +16,7 @@ function getUrlParams(url: string): UrlParams {
1616

1717
return {
1818
host,
19-
userAgent,
19+
algoliaAgent,
2020
searchParams:
2121
Object.entries(searchParams).length === 0 ? undefined : searchParams,
2222
};

clients/algoliasearch-client-javascript/packages/requester-node-http/src/echoRequester.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import type { UrlParams } from '@experimental-api-clients-automation/client-comm
55

66
function getUrlParams(url: string): UrlParams {
77
const { host, searchParams: urlSearchParams } = new URL(url);
8-
const userAgent = urlSearchParams.get('x-algolia-agent') || '';
8+
const algoliaAgent = urlSearchParams.get('x-algolia-agent') || '';
99
const searchParams = {};
1010

1111
for (const [k, v] of urlSearchParams) {
@@ -18,7 +18,7 @@ function getUrlParams(url: string): UrlParams {
1818

1919
return {
2020
host,
21-
userAgent,
21+
algoliaAgent,
2222
searchParams:
2323
Object.entries(searchParams).length === 0 ? undefined : searchParams,
2424
};

clients/algoliasearch-client-php/lib/RequestOptions/RequestOptionsFactory.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
namespace Algolia\AlgoliaSearch\RequestOptions;
44

55
use Algolia\AlgoliaSearch\Configuration\Configuration;
6-
use Algolia\AlgoliaSearch\Support\UserAgent;
6+
use Algolia\AlgoliaSearch\Support\AlgoliaAgent;
77

88
final class RequestOptionsFactory
99
{
@@ -50,9 +50,9 @@ private function normalize($options)
5050
'headers' => [
5151
'X-Algolia-Application-Id' => $this->config->getAppId(),
5252
'X-Algolia-API-Key' => $this->config->getAlgoliaApiKey(),
53-
'User-Agent' => $this->config->getUserAgent() !== null
54-
? $this->config->getUserAgent()
55-
: UserAgent::get(),
53+
'User-Agent' => $this->config->getAlgoliaAgent() !== null
54+
? $this->config->getAlgoliaAgent()
55+
: AlgoliaAgent::get(),
5656
'Content-Type' => 'application/json',
5757
],
5858
'queryParameters' => [],

clients/algoliasearch-client-php/lib/Support/UserAgent.php renamed to clients/algoliasearch-client-php/lib/Support/AlgoliaAgent.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use Algolia\AlgoliaSearch\Algolia;
66

7-
final class UserAgent
7+
final class AlgoliaAgent
88
{
99
private static $value;
1010

@@ -19,7 +19,7 @@ public static function get()
1919
return self::$value;
2020
}
2121

22-
public static function addCustomUserAgent($segment, $version)
22+
public static function addCustomAlgoliaAgent($segment, $version)
2323
{
2424
self::$value = null;
2525
self::$customSegments[trim($segment, ' ')] = trim($version, ' ');

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ private void setDefaultGeneratorOptions() {
5959

6060
additionalProperties.put("apiName", apiName);
6161
additionalProperties.put("capitalizedApiName", Utils.capitalize(apiName));
62-
additionalProperties.put("userAgent", Utils.capitalize(CLIENT));
62+
additionalProperties.put("algoliaAgent", Utils.capitalize(CLIENT));
6363
additionalProperties.put("gitRepoId", "algoliasearch-client-javascript");
6464
}
6565

playground/java/src/main/java/com/algolia/playground/Insights.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import com.algolia.exceptions.AlgoliaRuntimeException;
66
import com.algolia.model.insights.*;
77
import com.algolia.api.InsightsClient;
8-
import com.algolia.utils.UserAgent;
8+
import com.algolia.utils.AlgoliaAgent;
99
import io.github.cdimascio.dotenv.Dotenv;
1010

1111
public class Insights {
@@ -15,10 +15,10 @@ public static void main(String[] args) {
1515
InsightsClient client = new InsightsClient(
1616
dotenv.get("ALGOLIA_APPLICATION_ID"),
1717
dotenv.get("ALGOLIA_SEARCH_KEY"),
18-
new UserAgent.Segment[] {
19-
new UserAgent.Segment("test", "8.0.0"),
20-
new UserAgent.Segment("JVM", "11.0.14"),
21-
new UserAgent.Segment("no version"),
18+
new AlgoliaAgent.Segment[] {
19+
new AlgoliaAgent.Segment("test", "8.0.0"),
20+
new AlgoliaAgent.Segment("JVM", "11.0.14"),
21+
new AlgoliaAgent.Segment("no version"),
2222
}
2323
);
2424

0 commit comments

Comments
 (0)