void * passenger_create_loc_conf(ngx_conf_t *cf) { passenger_loc_conf_t *conf; ngx_keyval_t *kv; conf = ngx_pcalloc(cf->pool, sizeof(passenger_loc_conf_t)); if (conf == NULL) { return NGX_CONF_ERROR; } /* * set by ngx_pcalloc(): * * conf->upstream_config.bufs.num = 0; * conf->upstream_config.next_upstream = 0; * conf->upstream_config.temp_path = NULL; * conf->upstream_config.hide_headers_hash = { NULL, 0 }; * conf->upstream_config.hide_headers = NULL; * conf->upstream_config.pass_headers = NULL; * conf->upstream_config.uri = { 0, NULL }; * conf->upstream_config.location = NULL; * conf->upstream_config.store_lengths = NULL; * conf->upstream_config.store_values = NULL; */ #include "CreateLocationConfig.c" /******************************/ /******************************/ conf->upstream_config.pass_headers = NGX_CONF_UNSET_PTR; conf->upstream_config.hide_headers = NGX_CONF_UNSET_PTR; conf->upstream_config.store = NGX_CONF_UNSET; conf->upstream_config.store_access = NGX_CONF_UNSET_UINT; conf->upstream_config.buffering = NGX_CONF_UNSET; conf->upstream_config.ignore_client_abort = NGX_CONF_UNSET; conf->upstream_config.local = NGX_CONF_UNSET_PTR; conf->upstream_config.connect_timeout = NGX_CONF_UNSET_MSEC; conf->upstream_config.send_timeout = NGX_CONF_UNSET_MSEC; conf->upstream_config.read_timeout = NGX_CONF_UNSET_MSEC; conf->upstream_config.send_lowat = NGX_CONF_UNSET_SIZE; conf->upstream_config.buffer_size = NGX_CONF_UNSET_SIZE; conf->upstream_config.busy_buffers_size_conf = NGX_CONF_UNSET_SIZE; conf->upstream_config.max_temp_file_size_conf = NGX_CONF_UNSET_SIZE; conf->upstream_config.temp_file_write_size_conf = NGX_CONF_UNSET_SIZE; conf->upstream_config.pass_request_headers = NGX_CONF_UNSET; conf->upstream_config.pass_request_body = NGX_CONF_UNSET; #if (NGX_HTTP_CACHE) conf->upstream_config.cache = NGX_CONF_UNSET_PTR; conf->upstream_config.cache_min_uses = NGX_CONF_UNSET_UINT; conf->upstream_config.cache_bypass = NGX_CONF_UNSET_PTR; conf->upstream_config.no_cache = NGX_CONF_UNSET_PTR; conf->upstream_config.cache_valid = NGX_CONF_UNSET_PTR; #if NGINX_VERSION_NUM >= 1002000 conf->upstream_config.cache_lock = NGX_CONF_UNSET; conf->upstream_config.cache_lock_timeout = NGX_CONF_UNSET_MSEC; #endif #endif conf->upstream_config.intercept_errors = NGX_CONF_UNSET; conf->upstream_config.cyclic_temp_file = 0; conf->upstream_config.change_buffering = 1; #define DEFINE_VAR_TO_PASS(header_name, var_name) \ kv = ngx_array_push(conf->vars_source); \ kv->key.data = (u_char *) header_name; \ kv->key.len = strlen(header_name) + 1; \ kv->value.data = (u_char *) var_name; \ kv->value.len = strlen(var_name) + 1 conf->vars_source = ngx_array_create(cf->pool, 4, sizeof(ngx_keyval_t)); if (conf->vars_source == NULL) { return NGX_CONF_ERROR; } DEFINE_VAR_TO_PASS("SCGI", "1"); DEFINE_VAR_TO_PASS("QUERY_STRING", "$query_string"); DEFINE_VAR_TO_PASS("REQUEST_METHOD", "$request_method"); DEFINE_VAR_TO_PASS("SERVER_PROTOCOL", "$server_protocol"); DEFINE_VAR_TO_PASS("SERVER_SOFTWARE", "nginx/$nginx_version"); DEFINE_VAR_TO_PASS("REMOTE_ADDR", "$remote_addr"); DEFINE_VAR_TO_PASS("REMOTE_PORT", "$remote_port"); DEFINE_VAR_TO_PASS("SERVER_ADDR", "$server_addr"); DEFINE_VAR_TO_PASS("SERVER_PORT", "$server_port"); #if NGINX_VERSION_NUM >= 1000010 ngx_str_set(&conf->upstream_config.module, "passenger"); #endif return conf; }
void * passenger_create_loc_conf(ngx_conf_t *cf) { passenger_loc_conf_t *conf; ngx_keyval_t *kv; conf = ngx_pcalloc(cf->pool, sizeof(passenger_loc_conf_t)); if (conf == NULL) { return NGX_CONF_ERROR; } /* * set by ngx_pcalloc(): * * conf->upstream.bufs.num = 0; * conf->upstream.next_upstream = 0; * conf->upstream.temp_path = NULL; * conf->upstream.hide_headers_hash = { NULL, 0 }; * conf->upstream.hide_headers = NULL; * conf->upstream.pass_headers = NULL; * conf->upstream.schema = { 0, NULL }; * conf->upstream.uri = { 0, NULL }; * conf->upstream.location = NULL; * conf->upstream.store_lengths = NULL; * conf->upstream.store_values = NULL; * * conf->index.len = 0; * conf->index.data = NULL; */ conf->enabled = NGX_CONF_UNSET; conf->use_global_queue = NGX_CONF_UNSET; conf->environment.data = NULL; conf->environment.len = 0; conf->spawn_method.data = NULL; conf->spawn_method.len = 0; conf->base_uris = NGX_CONF_UNSET_PTR; conf->framework_spawner_idle_time = -1; conf->app_spawner_idle_time = -1; conf->upstream.store = NGX_CONF_UNSET; conf->upstream.store_access = NGX_CONF_UNSET_UINT; conf->upstream.buffering = NGX_CONF_UNSET; conf->upstream.ignore_client_abort = NGX_CONF_UNSET; conf->upstream.connect_timeout = NGX_CONF_UNSET_MSEC; conf->upstream.send_timeout = NGX_CONF_UNSET_MSEC; conf->upstream.read_timeout = NGX_CONF_UNSET_MSEC; conf->upstream.send_lowat = NGX_CONF_UNSET_SIZE; conf->upstream.buffer_size = NGX_CONF_UNSET_SIZE; conf->upstream.busy_buffers_size_conf = NGX_CONF_UNSET_SIZE; conf->upstream.max_temp_file_size_conf = NGX_CONF_UNSET_SIZE; conf->upstream.temp_file_write_size_conf = NGX_CONF_UNSET_SIZE; conf->upstream.pass_request_headers = NGX_CONF_UNSET; conf->upstream.pass_request_body = NGX_CONF_UNSET; conf->upstream.intercept_errors = NGX_CONF_UNSET; conf->upstream.cyclic_temp_file = 0; #define DEFINE_VAR_TO_PASS(header_name, var_name) \ kv = ngx_array_push(conf->vars_source); \ kv->key.data = (u_char *) header_name; \ kv->key.len = strlen(header_name) + 1; \ kv->value.data = (u_char *) var_name; \ kv->value.len = strlen(var_name) + 1 conf->vars_source = ngx_array_create(cf->pool, 4, sizeof(ngx_keyval_t)); if (conf->vars_source == NULL) { return NGX_CONF_ERROR; } DEFINE_VAR_TO_PASS("SCGI", "1"); DEFINE_VAR_TO_PASS("QUERY_STRING", "$query_string"); DEFINE_VAR_TO_PASS("REQUEST_METHOD", "$request_method"); DEFINE_VAR_TO_PASS("REQUEST_URI", "$request_uri"); DEFINE_VAR_TO_PASS("SERVER_PROTOCOL", "$server_protocol"); DEFINE_VAR_TO_PASS("SERVER_SOFTWARE", "nginx/$nginx_version"); DEFINE_VAR_TO_PASS("REMOTE_ADDR", "$remote_addr"); DEFINE_VAR_TO_PASS("REMOTE_PORT", "$remote_port"); DEFINE_VAR_TO_PASS("SERVER_ADDR", "$server_addr"); DEFINE_VAR_TO_PASS("SERVER_PORT", "$server_port"); DEFINE_VAR_TO_PASS("SERVER_NAME", "$server_name"); return conf; }