]> git.kaiwu.me - nginx.git/commitdiff
revert processing NGX_OK and NGX_DONE in rewrite phase changed in r3634
authorIgor Sysoev <igor@sysoev.ru>
Mon, 29 Nov 2010 14:01:17 +0000 (14:01 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Mon, 29 Nov 2010 14:01:17 +0000 (14:01 +0000)
src/http/ngx_http_core_module.c

index 2465a2d4877cc2f95317ead68e56dbe62b5b5ade..0e8d5a497ee06b5150a8bdedd3bd0083f87a8e29 100644 (file)
@@ -900,12 +900,21 @@ ngx_http_core_rewrite_phase(ngx_http_request_t *r, ngx_http_phase_handler_t *ph)
 
     rc = ph->handler(r);
 
+    if (rc == NGX_OK) {
+        r->phase_handler = ph->next;
+        return NGX_AGAIN;
+    }
+
     if (rc == NGX_DECLINED) {
         r->phase_handler++;
         return NGX_AGAIN;
     }
 
-    /* rc == NGX_OK || rc == NGX_ERROR || rc == NGX_HTTP_...  */
+    if (rc == NGX_DONE) {
+        return NGX_OK;
+    }
+
+    /* NGX_AGAIN || rc == NGX_ERROR || rc == NGX_HTTP_...  */
 
     ngx_http_finalize_request(r, rc);