-
Notifications
You must be signed in to change notification settings - Fork 0
/
example_config.json
161 lines (161 loc) · 9.32 KB
/
example_config.json
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
/* This is a JSON format configuration file
*/
{
//custom_config: custom configuration for users. This object can be acquired by the app().getCustomConfig() method.
"custom_config": {
"storage": {
"games_directory": "local_server/games",
"logic_name": "logic",
"zip_name": "client.zip",
"config_name": "config.json"
},
"cors": "*" // OPTIONAL cors header value
// // OPTIONAL Authentication settings. If commented out, `user_id` query will be used
// ,"auth": {
// "type": "JWT",
// "algorithm": "RS256",
// "audience": "https://develop.api.cavoke.wlko.me",
// "issuer": "https://cavoke.eu.auth0.com/",
// "public_key": "-----BEGIN CERTIFICATE-----\nMIIDATCCAemgAwIBAgIJUThDAEJOSIyCMA0GCSqGSIb3DQEBCwUAMB4xHDAaBgNV\nBAMTE2Nhdm9rZS5ldS5hdXRoMC5jb20wHhcNMjIwNDIzMTg0ODI2WhcNMzUxMjMx\nMTg0ODI2WjAeMRwwGgYDVQQDExNjYXZva2UuZXUuYXV0aDAuY29tMIIBIjANBgkq\nhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7FmeNLDehyQNzYlPLvaM4XuTCcWe48dC\n6bjwWeuboPscJoA8V7RYpNbs8zkR4mNaXEN1exJahFttU8t50kRSa302BplBRnsD\nwFotpCEptRkVNdPac+0/7qKboqwDyi9gl5uT/Hm2kR090tqJgfKKBazx1QS3j3iO\nChPcA1FE2/vhmOhcSV9zbwQXUiXFUShPjDhfmcqTxABbxs7LgSgcM8qz0IhquxJq\nlrwWv5cTuD45iXPj8oSONyvsP1pz2H7qvKJhYtobAnDt+P6SS1rO4nma2RV/tt3A\ngCZ9jcybz+9Hrp3Xs+Ip7Hn+vYb/CxK6UHaMzO1iGUWWVJNQcVOVzQIDAQABo0Iw\nQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQlyPck1My8puTlg4tErVnUW+CE\nijAOBgNVHQ8BAf8EBAMCAoQwDQYJKoZIhvcNAQELBQADggEBAOOgBVDImV0D8ln8\n2mzAMDwO9plAx7mF9Qrfvr9/GW1BLisiBXJ56myMeXIvqatmf5hN/sWM/GjBdSoB\no5pdX5Wtbjik7GI1QCQB28ZHz2Y924NLAiZEllOW8jcCAfCt0fuqmz7fsJpjJBNY\nKp0ad8YsxnHjiclLTkjeShj/nN98O41pYx+thXuC9CSUtxxeAnzNyAgw5Tc67z7w\n5X5dubeRgsaTmFE665H+EzYAqAFyfUHXvNEkogqBPXRiBQUFuChFVFx6TTEfADV+\nKMTS0PaUX72LJpnLqsxUxquiJLqq515rBSc+9EH75xmKkD52DIeqfBHr1JPA5yP8\nXLXdlos=\n-----END CERTIFICATE-----"
// }
},
"db_clients": [
{
//name: Name of the client,'default' by default
"name": "default",
//rdbms: Server type, postgresql,mysql or sqlite3, "postgresql" by default
"rdbms": "postgresql",
//filename: Sqlite3 db file name
//"filename":"",
//host: Server address,localhost by default
"host": "127.0.0.1",
//port: Server port, 5432 by default
"port": 5432,
//dbname: Database name
"dbname": "<YOUR-DB-NAME-HERE>",
//user: 'postgres' by default
"user": "postgres",
//passwd: '' by default
"passwd": "<YOUR-DB-PASSWORD>",
//is_fast: false by default, if it is true, the client is faster but user can't call
//any synchronous interface of it.
"is_fast": false,
//client_encoding: The character set used by the client. it is empty string by default which
//means use the default character set.
//"client_encoding": "",
//number_of_connections: 1 by default, if the 'is_fast' is true, the number is the number of
//connections per IO thread, otherwise it is the total number of all connections.
"number_of_connections": 1,
//timeout: -1.0 by default, in seconds, the timeout for executing a SQL query.
//zero or negative value means no timeout.
"timeout": -1.0
}
],
"app": {
//number_of_threads: The number of IO threads, 1 by default, if the value is set to 0, the number of threads
//is the number of CPU cores
"number_of_threads": 1,
"upload_path": "uploads",
//enable_session: False by default
"enable_session": false,
"session_timeout": 0,
//max_connections: maximum number of connections, 100000 by default
"max_connections": 100000,
//max_connections_per_ip: maximum number of connections per client, 0 by default which means no limit
"max_connections_per_ip": 0,
//Load_dynamic_views: False by default, when set to true, drogon
//compiles and loads dynamically "CSP View Files" in directories defined
//by "dynamic_views_path"
"load_dynamic_views": false,
//dynamic_views_path: If the path isn't prefixed with /, ./ or ../,
//it is relative path of document_root path
"dynamic_views_path": [
"./views"
],
//dynamic_views_output_path: Default by an empty string which means the output path of source
//files is the path where the csp files locate. If the path isn't prefixed with /, it is relative
//path of the current working directory.
"dynamic_views_output_path": "",
//enable_unicode_escaping_in_json: true by default, enable unicode escaping in json.
"enable_unicode_escaping_in_json": true,
//float_precision_in_json: set precision of float number in json.
"float_precision_in_json": {
//precision: 0 by default, 0 means use the default precision of the jsoncpp lib.
"precision": 0,
//precision_type: must be "significant" or "decimal", defaults to "significant" that means
//setting max number of significant digits in string, "decimal" means setting max number of
//digits after "." in string
"precision_type": "significant"
},
//log: Set log output, drogon output logs to stdout by default
"log": {
//log_path: Log file path,empty by default,in which case,logs are output to the stdout
"log_path": "./",
//logfile_base_name: Log file base name,empty by default which means drogon names logfile as
//drogon.log ...
"logfile_base_name": "cavoke-server",
//log_size_limit: 100000000 bytes by default,
//When the log file size reaches "log_size_limit", the log file is switched.
"log_size_limit": 100000000,
//log_level: "DEBUG" by default,options:"TRACE","DEBUG","INFO","WARN"
//The TRACE level is only valid when built in DEBUG mode.
"log_level": "DEBUG"
},
//run_as_daemon: False by default
"run_as_daemon": false,
//handle_sig_term: True by default
"handle_sig_term": true,
//relaunch_on_error: False by default, if true, the program will be restarted by the parent after exiting;
"relaunch_on_error": false,
//use_sendfile: True by default, if true, the program
//uses sendfile() system-call to send static files to clients;
"use_sendfile": true,
//use_gzip: True by default, use gzip to compress the response body's content;
"use_gzip": true,
//use_brotli: False by default, use brotli to compress the response body's content;
"use_brotli": false,
//static_files_cache_time: 5 (seconds) by default, the time in which the static file response is cached,
//0 means cache forever, the negative value means no cache
"static_files_cache_time": 5,
//idle_connection_timeout: Defaults to 60 seconds, the lifetime
//of the connection without read or write
"idle_connection_timeout": 60,
//server_header_field: Set the 'Server' header field in each response sent by drogon,
//empty string by default with which the 'Server' header field is set to "Server: drogon/version string\r\n"
"server_header_field": "",
//enable_server_header: Set true to force drogon to add a 'Server' header to each HTTP response. The default
//value is true.
"enable_server_header": true,
//enable_date_header: Set true to force drogon to add a 'Date' header to each HTTP response. The default
//value is true.
"enable_date_header": true,
//keepalive_requests: Set the maximum number of requests that can be served through one keep-alive connection.
//After the maximum number of requests are made, the connection is closed.
//The default value of 0 means no limit.
"keepalive_requests": 0,
//pipelining_requests: Set the maximum number of unhandled requests that can be cached in pipelining buffer.
//After the maximum number of requests are made, the connection is closed.
//The default value of 0 means no limit.
"pipelining_requests": 0,
//gzip_static: If it is set to true, when the client requests a static file, drogon first finds the compressed
//file with the extension ".gz" in the same path and send the compressed file to the client.
//The default value of gzip_static is true.
"gzip_static": true,
//br_static: If it is set to true, when the client requests a static file, drogon first finds the compressed
//file with the extension ".br" in the same path and send the compressed file to the client.
//The default value of br_static is true.
"br_static": true,
//client_max_body_size: Set the maximum body size of HTTP requests received by drogon. The default value is "1M".
//One can set it to "1024", "1k", "10M", "1G", etc. Setting it to "" means no limit.
"client_max_body_size": "128M",
//max_memory_body_size: Set the maximum body size in memory of HTTP requests received by drogon. The default value is "64K" bytes.
//If the body size of an HTTP request exceeds this limit, the body is stored to a temporary file for processing.
//Setting it to "" means no limit.
"client_max_memory_body_size": "64K",
//client_max_websocket_message_size: Set the maximum size of messages sent by WebSocket client. The default value is "128K".
//One can set it to "1024", "1k", "10M", "1G", etc. Setting it to "" means no limit.
"client_max_websocket_message_size": "128K",
//reuse_port: Defaults to false, users can run multiple processes listening on the same port at the same time.
"reuse_port": false
}
}