You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
1.6 KiB
80 lines
1.6 KiB
export class ServiceDiscoveryProvider {
|
|
host!: string;
|
|
port?: number;
|
|
type!: string;
|
|
token?: string;
|
|
configurationKey?: string;
|
|
pollingInterval?: number;
|
|
namespace?: string;
|
|
scheme?: string;
|
|
}
|
|
|
|
export class RateLimitOptions {
|
|
clientIdHeader?: string;
|
|
httpStatusCode?: number;
|
|
quotaExceededMessage?: string;
|
|
rateLimitCounterPrefix?: string;
|
|
disableRateLimitHeaders!: boolean;
|
|
}
|
|
|
|
export class RateLimitRuleOptions {
|
|
clientWhitelist?: string[] = [];
|
|
enableRateLimiting!: boolean;
|
|
period?: string;
|
|
periodTimespan?: boolean;
|
|
limit?: number;
|
|
}
|
|
|
|
export class QoSOptions {
|
|
timeoutValue?: number = 10000;
|
|
durationOfBreak?: number = 60000;
|
|
exceptionsAllowedBeforeBreaking?: number = 50;
|
|
}
|
|
|
|
export class LoadBalancerOptions {
|
|
type?: string = '';
|
|
key?: string = '';
|
|
expiry?: number = 0;
|
|
}
|
|
|
|
export class HostAndPort {
|
|
host = '';
|
|
port?: number = 80;
|
|
}
|
|
|
|
export class HttpHandlerOptions {
|
|
useProxy = false;
|
|
useTracing = false;
|
|
allowAutoRedirect = false;
|
|
useCookieContainer = false;
|
|
maxConnectionsPerServer?: number = 0;
|
|
}
|
|
|
|
export class FileCacheOptions {
|
|
ttlSeconds?: number = 0;
|
|
region?: string = '';
|
|
}
|
|
|
|
export class AuthenticationOptions {
|
|
authenticationProviderKey?: string = '';
|
|
allowedScopes?: string[] = [];
|
|
}
|
|
|
|
export class SecurityOptions {
|
|
ipAllowedList?: string[] = [];
|
|
ipBlockedList?: string[] = [];
|
|
}
|
|
|
|
export class LoadBalancerDescriptor {
|
|
type!: string;
|
|
displayName!: string;
|
|
}
|
|
|
|
export const HttpMethods: { [key: string]: string } = {
|
|
['GET']: 'blue',
|
|
['POST']: 'green',
|
|
['PUT']: 'orange',
|
|
['DELETE']: 'red',
|
|
['OPTIONS']: 'cyan',
|
|
['PATCH']: 'pink',
|
|
};
|
|
|