-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathconfiguration.js
More file actions
86 lines (65 loc) · 2.25 KB
/
configuration.js
File metadata and controls
86 lines (65 loc) · 2.25 KB
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
82
83
84
85
86
const debug = require('debug')('approov-protected-server')
const dotenv = require('dotenv').config()
if (dotenv.error) {
debug('FAILED TO PARSE `.env` FILE | ' + dotenv.error)
}
/////////////////////////
/// SERVER ENVIRONMENT
////////////////////////
const env = dotenv.parsed.ENV || 'production'
const httpProtocol = dotenv.parsed.HTTP_PROTOCOL || 'http'
const hostName = dotenv.parsed.SERVER_HOSTNAME || 'localhost'
const httpPort = dotenv.parsed.HTTP_PORT || '5000'
const url = httpProtocol + '://' + hostName
const certificatesPath = dotenv.parsed.CERTIFICATES_PATH || "/home/node/.ssl"
const fullUrl = function(env, url, port) {
if (env === 'production') {
return url
}
return url + ':' + port
}
if (env !== 'production') {
}
const server = {
env: env,
hostName: hostName,
httpProtocol: httpProtocol,
httpPort: httpPort,
url: url,
fullUrl: fullUrl(env, url, httpPort),
httpsEnabled: (httpProtocol === 'https'),
certificateKey: certificatesPath + "/" + hostName + ".key",
certificatePem: certificatesPath + "/" + hostName + ".pem"
}
///////////////////////////
/// APPROOV ENVIRONMENT
//////////////////////////
let isToAbortRequestOnInvalidToken = true
let isToAbortOnInvalidBinding = true
let isApproovLoggingEnabled = true
const abortRequestOnInvalidToken = dotenv.parsed.APPROOV_ABORT_REQUEST_ON_INVALID_TOKEN || 'true'
const abortOnInvalidTokenBinding = dotenv.parsed.APPROOV_ABORT_REQUEST_ON_INVALID_TOKEN_BINDING || 'true'
const approovLoggingEnabled = dotenv.parsed.APPROOV_LOGGING_ENABLED || 'true'
if (abortRequestOnInvalidToken.toLowerCase() === 'false') {
isToAbortRequestOnInvalidToken = false
}
if (abortOnInvalidTokenBinding.toLowerCase() === 'false') {
isToAbortOnInvalidBinding = false
}
if (approovLoggingEnabled.toLowerCase() === 'false') {
isApproovLoggingEnabled = false
}
const approov = {
abortRequestOnInvalidToken: isToAbortRequestOnInvalidToken,
abortRequestOnInvalidTokenBinding: isToAbortOnInvalidBinding,
approovLoggingEnabled: isApproovLoggingEnabled,
// The Approov base64 secret must be retrieved with the Approov CLI tool
base64Secret: dotenv.parsed.APPROOV_BASE64_SECRET,
}
////////////////////////////
/// EXPORT CONFIGURATION
///////////////////////////
module.exports = {
server,
approov,
}