Skip to content

Commit e28fa26

Browse files
authored
fix: server overrides key validation should be serverd from https://eppo.cloud (#230)
* fix: key validation should be serverd from https://eppo.cloud * CR changes
1 parent 9b2a216 commit e28fa26

File tree

4 files changed

+6
-17
lines changed

4 files changed

+6
-17
lines changed

src/api-endpoints.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import {
33
UFC_ENDPOINT,
44
BANDIT_ENDPOINT,
55
PRECOMPUTED_FLAGS_ENDPOINT,
6-
FLAG_OVERRIDES_KEY_VALIDATION_URL,
76
} from './constants';
87
import { IQueryParams, IQueryParamsWithSubject } from './http-client';
98

@@ -37,8 +36,4 @@ export default class ApiEndpoints {
3736
precomputedFlagsEndpoint(): URL {
3837
return this.endpoint(PRECOMPUTED_FLAGS_ENDPOINT);
3938
}
40-
41-
flagOverridesKeyValidationEndpoint(): URL {
42-
return this.endpoint(FLAG_OVERRIDES_KEY_VALIDATION_URL);
43-
}
4439
}

src/client/eppo-client.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,8 +213,7 @@ export default class EppoClient {
213213
return undefined;
214214
}
215215
const payload: OverridePayload = this.overrideValidator.parseOverridePayload(overridePayload);
216-
const baseUrl = this.configurationRequestParameters?.baseUrl;
217-
await this.overrideValidator.validateKey(payload.browserExtensionKey, baseUrl);
216+
await this.overrideValidator.validateKey(payload.browserExtensionKey);
218217
return payload.overrides;
219218
}
220219

src/constants.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ export const DEFAULT_POLL_CONFIG_REQUEST_RETRIES = 7;
99
export const BASE_URL = 'https://fscdn.eppo.cloud/api';
1010
export const UFC_ENDPOINT = '/flag-config/v1/config';
1111
export const BANDIT_ENDPOINT = '/flag-config/v1/bandits';
12-
export const FLAG_OVERRIDES_KEY_VALIDATION_URL = '/flag-overrides/v1/validate-key';
1312
export const PRECOMPUTED_BASE_URL = 'https://fs-edge-assignment.eppo.cloud';
1413
export const PRECOMPUTED_FLAGS_ENDPOINT = '/assignments';
1514
export const SESSION_ASSIGNMENT_CONFIG_LOADED = 'eppo-session-assignment-config-loaded';

src/override-validator.ts

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
1-
import ApiEndpoints from './api-endpoints';
21
import { TLRUCache } from './cache/tlru-cache';
32
import { Variation } from './interfaces';
43
import { FlagKey } from './types';
54

65
const FIVE_MINUTES_IN_MS = 5 * 3600 * 1000;
6+
const KEY_VALIDATION_URL = 'https://eppo.cloud/api/flag-overrides/v1/validate-key';
77

88
export interface OverridePayload {
99
browserExtensionKey: string;
1010
overrides: Record<FlagKey, Variation>;
1111
}
1212

13-
export const sendValidationRequest = async (
14-
browserExtensionKey: string,
15-
validationEndpoint: string,
16-
) => {
17-
const response = await fetch(validationEndpoint, {
13+
export const sendValidationRequest = async (browserExtensionKey: string) => {
14+
const response = await fetch(KEY_VALIDATION_URL, {
1815
method: 'POST',
1916
body: JSON.stringify({
2017
key: browserExtensionKey,
@@ -66,12 +63,11 @@ export class OverrideValidator {
6663
}
6764
}
6865

69-
async validateKey(browserExtensionKey: string, baseUrl: string | undefined) {
66+
async validateKey(browserExtensionKey: string) {
7067
if (this.validKeyCache.get(browserExtensionKey) === 'true') {
7168
return true;
7269
}
73-
const endpoint = new ApiEndpoints({ baseUrl }).flagOverridesKeyValidationEndpoint().toString();
74-
await sendValidationRequest(browserExtensionKey, endpoint);
70+
await sendValidationRequest(browserExtensionKey);
7571
this.validKeyCache.set(browserExtensionKey, 'true');
7672
}
7773
}

0 commit comments

Comments
 (0)