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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }