1 |
|
2 |
|
3 | import * as express from 'express';
|
4 | import { ApiConfig } from './config/api';
|
5 | import { EventEmitter } from 'events';
|
6 | export declare class Gateway extends EventEmitter {
|
7 | private config;
|
8 | private logger;
|
9 | private requestLogger;
|
10 | private configService;
|
11 | private serviceDiscovery;
|
12 | private apiPipeline;
|
13 | private app;
|
14 | private adminApp;
|
15 | private apiServer;
|
16 | private adminServer;
|
17 | private serverRunning;
|
18 | constructor();
|
19 | readonly server: express.Application;
|
20 | readonly apis: Array<ApiConfig>;
|
21 | readonly running: boolean;
|
22 | getApiConfig(apiId: string): ApiConfig;
|
23 | start(): Promise<void>;
|
24 | startAdmin(): Promise<void>;
|
25 | stop(): Promise<void>;
|
26 | stopAdmin(): Promise<void>;
|
27 | restart(): Promise<void>;
|
28 | private createHttpsServer(app);
|
29 | private loadApis();
|
30 | private reloadApis();
|
31 | private updateConfig(packageId, needsReload);
|
32 | private initialize();
|
33 | private configureServer();
|
34 | private configureHealthcheck();
|
35 | private configureAdminServer();
|
36 | private configureAdminCors();
|
37 | private configureApiDocs();
|
38 | }
|