# HG changeset patch # User Igor Sysoev # Date 1051195568 0 # Node ID b2ece31c976a67def9e77afc4372fc537d74b81b # Parent 939bc7cd9a90b385b33e1091710361c3e804e29f nginx-0.0.1-2003-04-24-18:46:08 import diff --git a/src/http/modules/proxy/ngx_http_event_proxy_handler.c b/src/http/modules/proxy/ngx_http_event_proxy_handler.c --- 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_ht } } - 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_ 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_ } +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 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 --- a/src/http/ngx_http.c +++ b/src/http/ngx_http.c @@ -107,7 +107,7 @@ static char *ngx_http_block(ngx_conf_t * 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 --- 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 } } -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 mer 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 --- 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_creat 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 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; }