File: config.json

package info (click to toggle)
drogon 1.9.11%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,820 kB
  • sloc: cpp: 57,270; sh: 297; xml: 20; makefile: 11
file content (160 lines) | stat: -rw-r--r-- 8,088 bytes parent folder | download
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
/* This is a JSON format configuration file
 */
{
    /*
    //ssl: The global ssl files setting
    "ssl": {
        "cert": "../../trantor/trantor/tests/server.crt",
        "key": "../../trantor/trantor/tests/server.key"
    },*/
    "listeners": [{
        //address: Ip address,0.0.0.0 by default
        "address": "0.0.0.0",
        //port: Port number
        "port": 8088,
        //https: If true, use https for security, false by default
        "https": false
    }],
    "app": {
        //threads_num: 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
        "threads_num": 2,
        //enable_session: False by default
        "enable_session": false,
        "session_timeout": 0,
        //session_cookie_key: The cookie key of the session, "JSESSIONID" by default
        "session_cookie_key": "JSESSIONID",
        //session_max_age: The max age of the session cookie, -1 by default
        "session_max_age": -1,
        //document_root: Root path of HTTP document, default path is ./
        "document_root": "./",
        //home_page: Set the HTML file of the home page, the default value is "index.html"
        //If there isn't any handler registered to the path "/", the home page file in the "document_root" is send to clients as a response
        //to the request for "/".
        "home_page": "index.html",
        //static_file_headers: Headers for static files
        /*"static_file_headers": [
          {
                "name": "field-name",
                "value": "field-value"
          }
        ],*/
        //upload_path: The path to save the uploaded file. "uploads" by default. 
        //If the path isn't prefixed with /, ./ or ../,
        //it is relative path of document_root path
        "upload_path": "uploads",
        /* file_types:
         * HTTP download file types, the file types supported by drogon
         * by default are "html", "js", "css", "xml", "xsl", "txt", "svg",
         * "ttf", "otf", "woff2", "woff" , "eot", "png", "jpg", "jpeg",
         * "gif", "bmp", "ico", "icns", etc. */
        "file_types": [
            "gif",
            "png",
            "jpg",
            "js",
            "css",
            "html",
            "ico",
            "swf",
            "xap",
            "apk",
            "cur",
            "xml"
        ],
        //max_connections: maximum connections number, 100000 by default
        "max_connections": 100000,
        //max_connections_per_ip: maximum connections number 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"
        ],
        //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": "",
            //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 restart 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,
        //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": false,
        //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": false,
        //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,
        //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": "1M",
        //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 a 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"
    },
    //plugins: Define all plugins running in the application
    "plugins": [{
        //name: The class name of the plugin
        "name": "my_plugin::SimpleReverseProxy",
        //dependencies: Plugins that the plugin depends on. It can be commented out
        "dependencies": [],
        //config: The configuration of the plugin. This json object is the parameter to initialize the plugin.
        //It can be commented out
        "config": {
            // The pipelining depth of HTTP clients.
            "pipelining": 16,
            "backends": ["http://127.0.0.1:8848"],
            "same_client_to_same_backend": false,
            //The number of connections created by proxy for each backend in very event loop (IO thread).
            "connection_factor": 1
        }
    }],
    //custom_config: custom configuration for users. This object can be get by the app().getCustomConfig() method. 
    "custom_config": {}
}