mirror of
https://github.com/cesanta/mongoose.git
synced 2026-11-06 15:51:25 +00:00
Moved options handling to src/options.c
This commit is contained in:
1 parent
a8da1b3334
commit
199e0a330f
4 files changed
+86
-82
No files matched your search
@@ -0,0 +1,57 @@
|
||||
#include "internal.h"
|
||||
|
||||
// This array must be in sync with enum in internal.h
|
||||
static const char *config_options[] = {
|
||||
"cgi_pattern", "**.cgi$|**.pl$|**.php$",
|
||||
"cgi_environment", NULL,
|
||||
"put_delete_auth_file", NULL,
|
||||
"cgi_interpreter", NULL,
|
||||
"protect_uri", NULL,
|
||||
"authentication_domain", "mydomain.com",
|
||||
"ssi_pattern", "**.shtml$|**.shtm$",
|
||||
"throttle", NULL,
|
||||
"access_log_file", NULL,
|
||||
"enable_directory_listing", "yes",
|
||||
"error_log_file", NULL,
|
||||
"global_auth_file", NULL,
|
||||
"index_files",
|
||||
"index.html,index.htm,index.cgi,index.shtml,index.php,index.lp",
|
||||
"enable_keep_alive", "no",
|
||||
"access_control_list", NULL,
|
||||
"extra_mime_types", NULL,
|
||||
"listening_ports", "8080",
|
||||
"document_root", NULL,
|
||||
"ssl_certificate", NULL,
|
||||
"num_threads", "50",
|
||||
"run_as_user", NULL,
|
||||
"url_rewrite_patterns", NULL,
|
||||
"hide_files_patterns", NULL,
|
||||
"request_timeout_ms", "30000",
|
||||
NULL
|
||||
};
|
||||
|
||||
const char **mg_get_valid_option_names(void) {
|
||||
return config_options;
|
||||
}
|
||||
|
||||
static int get_option_index(const char *name) {
|
||||
int i;
|
||||
|
||||
for (i = 0; config_options[i * 2] != NULL; i++) {
|
||||
if (strcmp(config_options[i * 2], name) == 0) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
const char *mg_get_option(const struct mg_context *ctx, const char *name) {
|
||||
int i;
|
||||
if ((i = get_option_index(name)) == -1) {
|
||||
return NULL;
|
||||
} else if (ctx->config[i] == NULL) {
|
||||
return "";
|
||||
} else {
|
||||
return ctx->config[i];
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user