Skip to content

Commit 24936b6

Browse files
#RI-5748 fix hosting provider + add more rules
1 parent 7d4d7d8 commit 24936b6

File tree

3 files changed

+19
-7
lines changed

3 files changed

+19
-7
lines changed

redisinsight/api/src/modules/database/entities/database.entity.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ export enum HostingProvider {
1313
RE_CLUSTER = 'RE_CLUSTER',
1414
RE_CLOUD = 'RE_CLOUD',
1515
REDIS_MANAGED = 'REDIS_MANAGED',
16-
AZURE = 'AZURE',
16+
AZURE_CACHE = 'AZURE_CACHE',
17+
AZURE_CACHE_REDIS_ENTERPRISE = 'AZURE_CACHE_REDIS_ENTERPRISE',
1718
COMMUNITY_EDITION = 'COMMUNITY_EDITION',
1819
AWS_ELASTICACHE = 'AWS_ELASTICACHE',
1920
AWS_MEMORYDB = 'AWS_MEMORYDB',

redisinsight/api/src/utils/hosting-provider-helper.spec.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,20 @@ const getHostingProviderTests = [
1717
input: 'redis-16781.c273.us-east-1-2.ec2.cloud.redislabs.com',
1818
output: HostingProvider.RE_CLOUD,
1919
},
20+
{
21+
input: 'redis-16781.c273.us-east-1-2.ec2.cloud.redis-cloud.com',
22+
output: HostingProvider.RE_CLOUD,
23+
},
24+
{
25+
input: 'redis-16781.c273.us-east-1-2.ec2.cloud.rlrcp.com',
26+
output: HostingProvider.RE_CLOUD,
27+
},
2028
{
2129
input: 'askubuntu.mki5tz.0001.use1.cache.amazonaws.com',
2230
output: HostingProvider.AWS_ELASTICACHE,
2331
},
24-
{ input: 'contoso5.redis.cache.windows.net', output: HostingProvider.AZURE },
32+
{ input: 'contoso5.redis.cache.windows.net', output: HostingProvider.AZURE_CACHE },
33+
{ input: 'contoso5.redisenterprise.cache.azure.net', output: HostingProvider.AZURE_CACHE_REDIS_ENTERPRISE },
2534
{ input: 'demo-redis-provider.unknown.com', output: HostingProvider.UNKNOWN },
2635
{
2736
input: 'localhost',

redisinsight/api/src/utils/hosting-provider-helper.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,27 @@ import { IP_ADDRESS_REGEX, PRIVATE_IP_ADDRESS_REGEX } from 'src/constants';
22
import { HostingProvider } from 'src/modules/database/entities/database.entity';
33
import { RedisClient } from 'src/modules/redis/client';
44

5-
// Ignore LGTM [js/incomplete-url-substring-sanitization] alert.
65
// Because we do not bind potentially dangerous logic to this.
76
// We define a hosting provider for telemetry only.
87
export const getHostingProvider = async (client: RedisClient, databaseHost: string): Promise<HostingProvider> => {
98
try {
109
const host = databaseHost.toLowerCase();
1110

1211
// Tries to detect the hosting provider from the hostname.
13-
if (host.endsWith('rlrcp.com') || host.endsWith('redislabs.com')) { // lgtm[js/incomplete-url-substring-sanitization]
12+
if (host.endsWith('rlrcp.com') || host.endsWith('redislabs.com') || host.endsWith('redis-cloud.com')) {
1413
return HostingProvider.RE_CLOUD;
1514
}
16-
if (host.endsWith('cache.amazonaws.com')) { // lgtm[js/incomplete-url-substring-sanitization]
15+
if (host.endsWith('cache.amazonaws.com')) {
1716
return HostingProvider.AWS_ELASTICACHE;
1817
}
1918
if (host.includes('memorydb')) {
2019
return HostingProvider.AWS_MEMORYDB;
2120
}
22-
if (host.endsWith('cache.windows.net')) { // lgtm[js/incomplete-url-substring-sanitization]
23-
return HostingProvider.AZURE;
21+
if (host.endsWith('cache.windows.net')) {
22+
return HostingProvider.AZURE_CACHE;
23+
}
24+
if (host.endsWith('redisenterprise.cache.azure.net')) {
25+
return HostingProvider.AZURE_CACHE_REDIS_ENTERPRISE;
2426
}
2527

2628
try {

0 commit comments

Comments
 (0)