1 #ifndef _GATLING_FEATURES_H
2 #define _GATLING_FEATURES_H
3 
4 // #define SUPPORT_MULTIPROC
5 
6 // #define SUPPORT_BITTORRENT
7 
8 #define SUPPORT_SERVERSTATUS
9 // #define SUPPORT_DAV
10 #define SUPPORT_SMB
11 #define SUPPORT_FTP
12 #define SUPPORT_PROXY
13 /* #define DEBUG to enable more verbose debug messages for tracking fd
14  * leaks */
15 /* #define DEBUG */
16 #define SUPPORT_CGI
17 #define SUPPORT_HTACCESS
18 
19 /* if a user asks for /foo but foo is a directory, then the default
20  * behavior of gatling is 404.  Apache generates a redirect to /foo/.
21  * #define this if you want gatling to generate a redirect, too */
22 #define SUPPORT_DIR_REDIRECT
23 
24 /* SUPPORT_BZIP2 means gatling will also look for foo.html.bz2 and not
25  * just foo.html.gz; however, almost no browsers support this, and if
26  * you don't have .bz2 files lying around, it wastes performance, so
27  * only enable it if you really have a use for it. */
28 /* #define SUPPORT_BZIP2 */
29 
30 /* SUPPORT_BROTLI means gatling will also look for foo.html.br and not
31  * just foo.html.gz; firefox and chrome support this, but only over
32  * https. */
33 #define SUPPORT_BROTLI
34 
35 /* if you want a redirect instead of a 404, #define this */
36 #define SUPPORT_FALLBACK_REDIR
37 
38 /* open files in threads to open kernel I/O scheduling opportunities */
39 #undef SUPPORT_THREADED_OPEN
40 
41 /* try to divine MIME type by looking at content */
42 #define SUPPORT_MIMEMAGIC
43 
44 /* http header size limit: */
45 #define MAX_HEADER_SIZE 8192
46 
47 #ifdef __MINGW32__
48 #include "windows.h"
49 
50 #undef SUPPORT_MULTIPROC
51 #undef SUPPORT_CGI
52 #undef SUPPORT_PROXY
53 #undef SUPPORT_FTP
54 #undef SUPPORT_MIMEMAGIC
55 #undef USE_ZLIB
56 #undef SUPPORT_HTACCESS
57 #include <malloc.h>
58 #endif
59 
60 #ifdef SUPPORT_MULTIPROC
61 #undef SUPPORT_CGI
62 #endif
63 
64 #ifdef SUPPORT_THREADED_OPEN
65 #include <pthread.h>
66 #endif
67 
68 #endif
69