-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.ts
81 lines (73 loc) · 2.37 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/*
# Copyright 2020-2022 i3-MARKET Consortium:
#
# ATHENS UNIVERSITY OF ECONOMICS AND BUSINESS - RESEARCH CENTER
# ATOS SPAIN SA
# EUROPEAN DIGITAL SME ALLIANCE
# GFT ITALIA SRL
# GUARDTIME OU
# HOP UBIQUITOUS SL
# IBM RESEARCH GMBH
# IDEMIA FRANCE
# SIEMENS AKTIENGESELLSCHAFT
# SIEMENS SRL
# TELESTO TECHNOLOGIES PLIROFORIKIS KAI EPIKOINONION EPE
# UNIVERSITAT POLITECNICA DE CATALUNYA
# UNPARALLEL INNOVATION LDA
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
*/
import {ApplicationConfig, BackplaneApplication} from './application';
import {OASModifier} from './utils/OASModifier';
export * from './application';
export async function main(options: ApplicationConfig = {}) {
await OASModifier.selectServer();
const app = new BackplaneApplication(options);
await app.boot();
await app.start();
const url = app.restServer.url;
console.log(`Server is running at ${url}`);
return app;
}
if (require.main === module) {
// const certificatesPath = process.env.CERTS_PATH ?? './certificates';
// const cert = fs.readFileSync(`${certificatesPath}/cert.crt`);
// const key = fs.readFileSync(`${certificatesPath}/key.key`);
// const caCert = fs.readFileSync(`${certificatesPath}/ca-cert.crt`);
//
// https.globalAgent.options.ca = caCert;
// https.globalAgent.options.cert = cert;
// https.globalAgent.options.key = key;
// https.globalAgent.options.rejectUnauthorized = false;
const config = {
rest: {
port: +(process.env.PORT ?? 3000),
host: process.env.HOST,
gracePeriodForClose: 5000, // 5 seconds
openApiSpec: {
setServersFromRequest: true,
},
protocol: 'http',
// minVersion: 'TLSv1.3',
// key: key,
// cert: cert,
// ca: caCert,
// rejectUnauthorized: false,
},
};
main(config).catch(err => {
console.error('Cannot start the application.', err);
process.exit(1);
});
}