[nginx] svn commit: r4921 - trunk/src/http

mdounin at mdounin.ru mdounin at mdounin.ru
Wed Nov 21 00:54:01 UTC 2012


Author: mdounin
Date: 2012-11-21 00:54:01 +0000 (Wed, 21 Nov 2012)
New Revision: 4921
URL: http://trac.nginx.org/nginx/changeset/4921/nginx

Log:
Request body: fixed "501 Not Implemented" error handling.

It is not about "Method" but a generic message, and is expected to be used
e.g. if specified Transfer-Encoding is not supported.  Fixed message to
match RFC 2616.

Additionally, disable keepalive on such errors as we won't be able to read
request body correctly if we don't understand Transfer-Encoding used.


Modified:
   trunk/src/http/ngx_http_header_filter_module.c
   trunk/src/http/ngx_http_special_response.c

Modified: trunk/src/http/ngx_http_header_filter_module.c
===================================================================
--- trunk/src/http/ngx_http_header_filter_module.c	2012-11-21 00:52:35 UTC (rev 4920)
+++ trunk/src/http/ngx_http_header_filter_module.c	2012-11-21 00:54:01 UTC (rev 4921)
@@ -112,7 +112,7 @@
 #define NGX_HTTP_OFF_5XX   (NGX_HTTP_LAST_4XX - 400 + NGX_HTTP_OFF_4XX)
 
     ngx_string("500 Internal Server Error"),
-    ngx_string("501 Method Not Implemented"),
+    ngx_string("501 Not Implemented"),
     ngx_string("502 Bad Gateway"),
     ngx_string("503 Service Temporarily Unavailable"),
     ngx_string("504 Gateway Time-out"),

Modified: trunk/src/http/ngx_http_special_response.c
===================================================================
--- trunk/src/http/ngx_http_special_response.c	2012-11-21 00:52:35 UTC (rev 4920)
+++ trunk/src/http/ngx_http_special_response.c	2012-11-21 00:54:01 UTC (rev 4921)
@@ -260,9 +260,9 @@
 
 static char ngx_http_error_501_page[] =
 "<html>" CRLF
-"<head><title>501 Method Not Implemented</title></head>" CRLF
+"<head><title>501 Not Implemented</title></head>" CRLF
 "<body bgcolor=\"white\">" CRLF
-"<center><h1>501 Method Not Implemented</h1></center>" CRLF
+"<center><h1>501 Not Implemented</h1></center>" CRLF
 ;
 
 
@@ -384,6 +384,7 @@
             case NGX_HTTPS_CERT_ERROR:
             case NGX_HTTPS_NO_CERT:
             case NGX_HTTP_INTERNAL_SERVER_ERROR:
+            case NGX_HTTP_NOT_IMPLEMENTED:
                 r->keepalive = 0;
         }
     }



More information about the nginx-devel mailing list