Mercurial > hg > nginx
annotate src/http/ngx_http_config.c @ 41:59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 26 Dec 2002 16:26:23 +0000 |
parents | d45effe5854c |
children | cd035a94e0b6 |
rev | line source |
---|---|
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
1 |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
2 #include <ngx_config.h> |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
3 #include <ngx_core.h> |
32
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
4 #include <ngx_config_file.h> |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
5 #include <ngx_http.h> |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
6 #include <ngx_http_core.h> |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
7 #include <ngx_http_config.h> |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
8 #include <ngx_http_write_filter.h> |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
9 #include <ngx_http_output_filter.h> |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
10 #include <ngx_http_index_handler.h> |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
11 |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
12 |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
13 /* STUB */ |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
14 void **ngx_srv_conf; |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
15 void **ngx_loc_conf; |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
16 /**/ |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
17 |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
18 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
19 static int ngx_http_block(ngx_conf_t *cf, ngx_command_t *cmd, char *dummy); |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
20 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
21 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
22 void *null_loc_conf; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
23 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
24 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
25 static ngx_command_t ngx_http_commands[] = { |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
26 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
27 {ngx_string("http"), |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
28 NGX_CONF_BLOCK|NGX_CONF_NOARGS, |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
29 ngx_http_block, |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
30 0, |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
31 0}, |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
32 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
33 {ngx_string(""), 0, NULL, 0, 0} |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
34 }; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
35 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
36 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
37 static ngx_http_module_t ngx_http_module_ctx = { |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
38 NGX_HTTP_MODULE, |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
39 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
40 NULL, /* create server config */ |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
41 NULL, /* create location config */ |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
42 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
43 NULL, /* translate handler */ |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
44 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
45 NULL, /* output header filter */ |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
46 NULL, /* next output header filter */ |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
47 NULL, /* output body filter */ |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
48 NULL /* next output body filter */ |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
49 }; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
50 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
51 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
52 ngx_module_t ngx_http_module = { |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
53 &ngx_http_module_ctx, /* module context */ |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
54 ngx_http_commands, /* module directives */ |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
55 0, /* module type */ |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
56 NULL /* init module */ |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
57 }; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
58 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
59 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
60 static int ngx_http_block(ngx_conf_t *cf, ngx_command_t *cmd, char *dummy) |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
61 { |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
62 int i, j; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
63 ngx_http_module_t *module; |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
64 ngx_http_conf_ctx_t *ctx; |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
65 |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
66 for (i = 0; ngx_modules[i]; i++) { |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
67 if (ngx_modules[i]->type != NGX_HTTP_MODULE_TYPE) { |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
68 continue; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
69 } |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
70 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
71 module = (ngx_http_module_t *) ngx_modules[i]->ctx; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
72 module->index = i; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
73 } |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
74 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
75 ngx_http_max_module = i; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
76 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
77 ngx_test_null(null_loc_conf, |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
78 ngx_pcalloc(cf->pool, sizeof(void *) * ngx_http_max_module), |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
79 NGX_ERROR); |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
80 |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
81 ctx->srv_conf = NULL; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
82 ctx->loc_conf = null_loc_conf; |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
83 |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
84 for (i = 0, j = 0; ngx_modules[i]; i++) { |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
85 if (ngx_modules[i]->type != NGX_HTTP_MODULE_TYPE) { |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
86 continue; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
87 } |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
88 |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
89 module = (ngx_http_module_t *) ngx_modules[i]->ctx; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
90 module->index = i; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
91 if (module->create_loc_conf) { |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
92 ngx_test_null(null_loc_conf, |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
93 module->create_loc_conf(cf->pool), |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
94 NGX_ERROR); |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
95 j++; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
96 } |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
97 } |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
98 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
99 cf->ctx = ctx; |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
100 cf->type = NGX_HTTP_MODULE_TYPE; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
101 return ngx_conf_parse(cf, NULL); |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
102 } |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
103 |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
104 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
105 #if 0 |
32
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
106 int ngx_server_block(ngx_conf_t *cf) |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
107 { |
32
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
108 ngx_http_conf_ctx_t *ctx, *prev; |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
109 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
110 ngx_test_null(ctx, |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
111 ngx_pcalloc(cf->pool, sizeof(ngx_http_conf_ctx_t)), |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
112 NGX_ERROR); |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
113 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
114 /* server config */ |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
115 ngx_test_null(ctx->srv_conf, |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
116 ngx_pcalloc(cf->pool, sizeof(void *) * ngx_max_module), |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
117 NGX_ERROR); |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
118 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
119 /* server location config */ |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
120 ngx_test_null(ctx->loc_conf, |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
121 ngx_pcalloc(cf->pool, sizeof(void *) * ngx_max_module), |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
122 NGX_ERROR); |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
123 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
124 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
125 for (i = 0; modules[i]; i++) { |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
126 if (modules[i]->create_srv_conf) |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
127 ngx_test_null(ctx->srv_conf[i], |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
128 modules[i]->create_srv_conf(cf->pool), |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
129 NGX_ERROR); |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
130 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
131 if (modules[i]->create_loc_conf) |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
132 ngx_test_null(ctx->loc_conf[i], |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
133 modules[i]->create_loc_conf(cf->pool), |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
134 NGX_ERROR); |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
135 } |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
136 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
137 prev = cf->ctx; |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
138 cf->ctx = ctx; |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
139 rc = ngx_conf_parse(cf); |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
140 cf->ctx = prev; |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
141 |
32
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
142 if (loc == NGX_ERROR) |
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
143 return NGX_ERROR; |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
144 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
145 for (i = 0; modules[i]; i++) { |
32
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
146 #if 0 |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
147 if (modules[i]->merge_srv_conf) |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
148 if (modules[i]->merge_srv_conf(cf->pool, |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
149 prev->srv_conf, ctx->srv_conf) |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
150 == NGX_ERROR) |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
151 return NGX_ERROR; |
32
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
152 #endif |
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
153 |
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
154 if (modules[i]->init_srv_conf) |
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
155 if (modules[i]->init_srv_conf(cf->pool, ctx->srv_conf) == NGX_ERROR) |
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
156 return NGX_ERROR; |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
157 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
158 if (modules[i]->merge_loc_conf) |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
159 if (modules[i]->merge_loc_conf(cf->pool, |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
160 prev->loc_conf, ctx->loc_conf) |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
161 == NGX_ERROR) |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
162 return NGX_ERROR; |
32
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
163 |
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
164 for (array) { |
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
165 if (modules[i]->merge_loc_conf(cf->pool, |
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
166 ctx->loc_conf, loc->loc_conf) |
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
167 == NGX_ERROR) |
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
168 return NGX_ERROR; |
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
169 } |
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
170 } |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
171 } |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
172 |
32
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
173 return NGX_OK; |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
174 } |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
175 |
32
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
176 int ngx_location_block(ngx_conf_t *cf) |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
177 { |
32
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
178 ngx_http_conf_ctx_t *ctx, *prev; |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
179 |
32
d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
Igor Sysoev <igor@sysoev.ru>
parents:
30
diff
changeset
|
180 ngx_test_null(ctx, ngx_pcalloc(cf->pool, sizeof(ngx_http_conf_ctx_t)), |
30
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
181 NGX_ERROR); |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
182 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
183 ctx->srv_conf = cf->ctx->srv_conf; |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
184 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
185 ngx_test_null(ctx->loc_conf, |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
186 ngx_pcalloc(cf->pool, sizeof(void *) * ngx_max_module), |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
187 NGX_ERROR); |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
188 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
189 for (i = 0; modules[i]; i++) { |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
190 if (modules[i]->create_loc_conf) |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
191 ngx_test_null(ctx->loc_conf[i], |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
192 modules[i]->create_loc_conf(cf->pool), |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
193 NGX_ERROR); |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
194 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
195 if (ngx_http_core_module.index == i) |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
196 ctx->loc_conf[i].location = cf->args[0]; |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
197 } |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
198 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
199 push |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
200 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
201 return ngx_conf_parse(cf); |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
202 } |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
203 |
c2d9ef3ebb6d
nginx-0.0.1-2002-12-18-00:08:15 import
Igor Sysoev <igor@sysoev.ru>
parents:
26
diff
changeset
|
204 #endif |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
205 |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
206 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
207 int ngx_http_config_modules(ngx_pool_t *pool, ngx_module_t **modules) |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
208 { |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
209 int i; |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
210 ngx_http_module_t *module; |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
211 |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
212 for (i = 0; modules[i]; i++) { |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
213 if (modules[i]->type != NGX_HTTP_MODULE_TYPE) { |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
214 continue; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
215 } |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
216 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
217 module = (ngx_http_module_t *) modules[i]->ctx; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
218 module->index = i; |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
219 } |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
220 |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
221 ngx_http_max_module = i; |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
222 |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
223 #if 0 |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
224 ngx_test_null(ngx_srv_conf, |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
225 ngx_pcalloc(pool, sizeof(void *) * ngx_http_max_module), |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
226 NGX_ERROR); |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
227 ngx_test_null(ngx_loc_conf, |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
228 ngx_pcalloc(pool, sizeof(void *) * ngx_http_max_module), |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
229 NGX_ERROR); |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
230 |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
231 for (i = 0; modules[i]; i++) { |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
232 if (modules[i]->create_srv_conf) |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
233 ngx_srv_conf[i] = modules[i]->create_srv_conf(pool); |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
234 |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
235 if (modules[i]->create_loc_conf) |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
236 ngx_loc_conf[i] = modules[i]->create_loc_conf(pool); |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
237 } |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
238 #endif |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
239 } |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
240 |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
241 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
242 void ngx_http_init_filters(ngx_pool_t *pool, ngx_module_t **modules) |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
243 { |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
244 int i; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
245 ngx_http_module_t *module; |
26
53cb81681040
nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
24
diff
changeset
|
246 int (*ohf)(ngx_http_request_t *r); |
53cb81681040
nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
24
diff
changeset
|
247 int (*obf)(ngx_http_request_t *r, ngx_chain_t *ch); |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
248 |
26
53cb81681040
nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
24
diff
changeset
|
249 ohf = NULL; |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
250 obf = NULL; |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
251 |
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
252 for (i = 0; modules[i]; i++) { |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
253 if (modules[i]->type != NGX_HTTP_MODULE_TYPE) { |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
254 continue; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
255 } |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
256 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
257 module = (ngx_http_module_t *) modules[i]->ctx; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
258 if (module->output_header_filter) { |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
259 module->next_output_header_filter = ohf; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
260 ohf = module->output_header_filter; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
261 } |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
262 |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
263 if (module->output_body_filter) { |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
264 module->next_output_body_filter = obf; |
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
32
diff
changeset
|
265 obf = module->output_body_filter; |
26
53cb81681040
nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
24
diff
changeset
|
266 } |
53cb81681040
nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
24
diff
changeset
|
267 } |
53cb81681040
nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
24
diff
changeset
|
268 |
53cb81681040
nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
24
diff
changeset
|
269 ngx_http_top_header_filter = ohf; |
10
4f3879d9b6f6
nginx-0.0.1-2002-09-11-19:18:33 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
270 } |