UNPKG

@unleash/proxy

Version:
37 lines (36 loc) 1.98 kB
import { type Request, type Response, Router } from 'express'; import type { IProxyConfig } from './config'; import type { IClient } from './client'; import type { OpenApiService } from './openapi/openapi-service'; import type { ApiRequestSchema } from './openapi/spec/api-request-schema'; import type { FeaturesSchema } from './openapi/spec/features-schema'; import type { RegisterMetricsSchema } from './openapi/spec/register-metrics-schema'; import type { LookupTogglesSchema } from './openapi/spec/lookup-toggles-schema'; import type { RegisterClientSchema } from './openapi/spec/register-client-schema'; export default class UnleashProxy { private logger; private clientKeys; private serverSideTokens; private clientKeysHeaderName; private client; private contextEnrichers; private ready; middleware: Router; private enableAllEndpoint; constructor(client: IClient, config: IProxyConfig, openApiService: OpenApiService); private setReady; setProxySecrets(clientKeys: string[]): void; setClientKeys(clientKeys: string[]): void; private readyMiddleware; private clientTokenMiddleware; private expServerSideTokenMiddleware; getAllToggles(req: Request, res: Response<FeaturesSchema | string>): Promise<void>; getAllTogglesPOST(req: Request, res: Response<FeaturesSchema | string>): Promise<void>; getEnabledToggles(req: Request, res: Response<FeaturesSchema | string>): Promise<void>; lookupToggles(req: Request<any, any, LookupTogglesSchema>, res: Response<FeaturesSchema | string>): Promise<void>; health(_: Request, res: Response<string>): void; prometheus(_: Request, res: Response<string>): Promise<void>; registerMetrics(req: Request<{}, undefined, RegisterMetricsSchema>, res: Response<string>): void; registerClient(req: Request<{}, undefined, RegisterClientSchema>, res: Response<string>): void; unleashApi(req: Request, res: Response<string | ApiRequestSchema>): void; }