aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2003-04-24 14:46:08 +0000
committerIgor Sysoev <igor@sysoev.ru>2003-04-24 14:46:08 +0000
commit0e18ebd0d931e175b7d92c0d6fb36c1c60c2aac9 (patch)
tree4cc0921e30069e29ee0456d8c2fcd693e81fde39 /src
parentfb970519d45f7fb299dfaba854b8cc58d4dc4711 (diff)
downloadnginx-0e18ebd0d931e175b7d92c0d6fb36c1c60c2aac9.tar.gz
nginx-0e18ebd0d931e175b7d92c0d6fb36c1c60c2aac9.zip
nginx-0.0.1-2003-04-24-18:46:08 import
Diffstat (limited to 'src')
-rw-r--r--src/http/modules/proxy/ngx_http_event_proxy_handler.c41
-rw-r--r--src/http/ngx_http.c2
-rw-r--r--src/http/ngx_http_core_module.c5
-rw-r--r--src/http/ngx_http_write_filter.c4
4 files changed, 38 insertions, 14 deletions
diff --git a/src/http/modules/proxy/ngx_http_event_proxy_handler.c b/src/http/modules/proxy/ngx_http_event_proxy_handler.c
index ab90aeb3a..66c9988f0 100644
--- a/src/http/modules/proxy/ngx_http_event_proxy_handler.c
+++ b/src/http/modules/proxy/ngx_http_event_proxy_handler.c
@@ -18,9 +18,10 @@
/* STUB */
typedef struct {
- int dummy;
+ int type;
} ngx_cache_header_t;
+
static int ngx_http_proxy_handler(ngx_http_request_t *r);
static ngx_chain_t *ngx_http_proxy_create_request(ngx_http_proxy_ctx_t *p);
@@ -609,8 +610,8 @@ static int ngx_http_proxy_connect(ngx_http_proxy_ctx_t *p)
}
}
- wev->event_handler = rev->event_handler =
- ngx_http_proxy_process_upstream_event;
+ rev->event_handler = ngx_http_proxy_process_upstream_event;
+ p->request->connection->write->event_handler = NULL;
p->state_write_upstream_handler = ngx_http_proxy_send_request;
p->state_read_upstream_handler = ngx_http_proxy_init_upstream;
@@ -1087,7 +1088,7 @@ static int ngx_http_proxy_read_upstream_body(ngx_http_proxy_ctx_t *p)
return NGX_HTTP_INTERNAL_SERVER_ERROR;
}
- if (p->event_proxy->upstream_eof && p->event_proxy->upstream_error) {
+ if (p->event_proxy->upstream_eof || p->event_proxy->upstream_error) {
rc = ngx_event_close_connection(p->connection->read);
}
@@ -1095,6 +1096,21 @@ static int ngx_http_proxy_read_upstream_body(ngx_http_proxy_ctx_t *p)
}
+static int ngx_http_proxy_process_client_event(ngx_event_t *ev)
+{
+ ngx_connection_t *c;
+ ngx_http_request_t *r;
+ ngx_http_proxy_ctx_t *p;
+
+ c = (ngx_connection_t *) ev->data;
+ r = (ngx_http_request_t *) c->data;
+ p = (ngx_http_proxy_ctx_t *)
+ ngx_http_get_module_ctx(r, ngx_http_proxy_module_ctx);
+
+ return ngx_http_proxy_process_upstream(p, ev);
+}
+
+
static int ngx_http_proxy_write_upstream_body(ngx_http_proxy_ctx_t *p)
{
return ngx_event_proxy_write_to_downstream(p->event_proxy);
@@ -1105,6 +1121,23 @@ static int ngx_http_proxy_write_upstream_body(ngx_http_proxy_ctx_t *p)
static int ngx_http_proxy_finalize_request(ngx_http_proxy_ctx_t *p, int error)
{
+#if 0
+
+ if (p->event_proxy->upstream_eof) {
+ rc = ngx_event_close_connection(p->connection->read);
+ link cache;
+ }
+
+ if (p->event_proxy->upstream_error) {
+ rc = ngx_event_close_connection(p->connection->read);
+ }
+
+ if (p->event_proxy->downstream_error) {
+ rc = ngx_event_close_connection(p->request->connection->write);
+ }
+
+#endif
+
return ngx_http_finalize_request(p->request, error);
}
diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c
index 163cf9bdf..7128e20c8 100644
--- a/src/http/ngx_http.c
+++ b/src/http/ngx_http.c
@@ -107,7 +107,7 @@ static char *ngx_http_block(ngx_conf_t *cf, ngx_command_t *cmd, char *dummy)
module = (ngx_http_module_t *) ngx_modules[i]->ctx;
if (module->create_loc_conf) {
- ngx_test_null(ctx->loc_conf[ngx_modules[i]->index],
+ ngx_test_null(ctx->loc_conf[module->index],
module->create_loc_conf(cf->pool),
NGX_CONF_ERROR);
}
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
index 3ae8017fc..9eab6ad08 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -674,8 +674,6 @@ static char *ngx_server_block(ngx_conf_t *cf, ngx_command_t *cmd, char *dummy)
}
}
-ngx_log_debug(cf->pool->log, "main merge");
-
if (module->merge_loc_conf) {
if (module->merge_loc_conf(cf->pool,
prev->loc_conf[module->index],
@@ -684,8 +682,6 @@ ngx_log_debug(cf->pool->log, "main merge");
return NGX_CONF_ERROR;
}
-ngx_log_debug(cf->pool->log, "server merge");
-
for (j = 0; j < scf->locations.nelts; j++) {
if (module->merge_loc_conf(cf->pool,
ctx->loc_conf[module->index],
@@ -694,7 +690,6 @@ ngx_log_debug(cf->pool->log, "server merge");
return NGX_CONF_ERROR;
}
}
-ngx_log_debug(cf->pool->log, "server merge done");
}
}
diff --git a/src/http/ngx_http_write_filter.c b/src/http/ngx_http_write_filter.c
index 8a7f6a4ef..4d7b958a5 100644
--- a/src/http/ngx_http_write_filter.c
+++ b/src/http/ngx_http_write_filter.c
@@ -169,8 +169,6 @@ static void *ngx_http_write_filter_create_conf(ngx_pool_t *pool)
conf->buffer_output = NGX_CONF_UNSET;
-ngx_log_debug(pool->log, "write conf %08X %08X" _ conf _ conf->buffer_output);
-
return conf;
}
@@ -185,8 +183,6 @@ static char *ngx_http_write_filter_merge_conf(ngx_pool_t *pool,
ngx_conf_size_merge(conf->buffer_output, prev->buffer_output, 1460);
-ngx_log_debug(pool->log, "write merge %08X %08X %08X" _ prev _ conf _ conf->buffer_output);
-
return NULL;
}