diff src/http/modules/ngx_http_ssi_filter_module.c @ 118:644a7935144b NGINX_0_3_6

nginx 0.3.6 *) Change: now the IMAP/POP3 proxy do not send the empty login to authorization server. *) Feature: the "log_format" supports the variables in the $name form. *) Bugfix: if at least in one server was no the "listen" directive, then nginx did not listen on the 80 port; bug appeared in 0.3.3. *) Bugfix: if the URI part is omitted in "proxy_pass" directive, the the 80 port was always used.
author Igor Sysoev <http://sysoev.ru>
date Mon, 24 Oct 2005 00:00:00 +0400
parents 408f195b3482
children d25a1d6034f1
line wrap: on
line diff
--- a/src/http/modules/ngx_http_ssi_filter_module.c
+++ b/src/http/modules/ngx_http_ssi_filter_module.c
@@ -229,9 +229,8 @@ ngx_module_t  ngx_http_ssi_filter_module
 };
 
 
-static ngx_int_t (*ngx_http_next_header_filter) (ngx_http_request_t *r);
-static ngx_int_t (*ngx_http_next_body_filter) (ngx_http_request_t *r,
-    ngx_chain_t *in);
+static ngx_http_output_header_filter_pt  ngx_http_next_header_filter;
+static ngx_http_output_body_filter_pt    ngx_http_next_body_filter;
 
 
 static u_char ngx_http_ssi_string[] = "<!--";
@@ -407,6 +406,7 @@ ngx_http_ssi_body_filter(ngx_http_reques
     ngx_buf_t               *b;
     ngx_chain_t             *cl;
     ngx_table_elt_t         *param;
+    ngx_connection_t        *c;
     ngx_http_ssi_ctx_t      *ctx;
     ngx_http_ssi_conf_t     *conf;
     ngx_http_ssi_param_t    *prm;
@@ -650,7 +650,15 @@ ngx_http_ssi_body_filter(ngx_http_reques
                     }
                 }
 
-                if (cmd->handler(r, ctx, params) == NGX_OK) {
+                c = r->connection;
+
+                rc = cmd->handler(r, ctx, params);
+
+                if (c->closed) {
+                    return NGX_DONE;
+                }
+
+                if (rc == NGX_OK) {
                     continue;
                 }
             }