comparison src/http/ngx_http_special_response.c @ 612:ce857f6b74a7 NGINX_0_9_4

nginx 0.9.4 *) Feature: the "server_name" directive supports the $hostname variable. *) Feature: 494 code for "Request Header Too Large" error.
author Igor Sysoev <http://sysoev.ru>
date Fri, 21 Jan 2011 00:00:00 +0300
parents c5122335e41d
children bb20316269e4
comparison
equal deleted inserted replaced
611:f02ddde4a240 612:ce857f6b74a7
196 static char ngx_http_error_416_page[] = 196 static char ngx_http_error_416_page[] =
197 "<html>" CRLF 197 "<html>" CRLF
198 "<head><title>416 Requested Range Not Satisfiable</title></head>" CRLF 198 "<head><title>416 Requested Range Not Satisfiable</title></head>" CRLF
199 "<body bgcolor=\"white\">" CRLF 199 "<body bgcolor=\"white\">" CRLF
200 "<center><h1>416 Requested Range Not Satisfiable</h1></center>" CRLF 200 "<center><h1>416 Requested Range Not Satisfiable</h1></center>" CRLF
201 ;
202
203
204 static char ngx_http_error_494_page[] =
205 "<html>" CRLF
206 "<head><title>400 Request Header Or Cookie Too Large</title></head>"
207 CRLF
208 "<body bgcolor=\"white\">" CRLF
209 "<center><h1>400 Bad Request</h1></center>" CRLF
210 "<center>Request Header Or Cookie Too Large</center>" CRLF
201 ; 211 ;
202 212
203 213
204 static char ngx_http_error_495_page[] = 214 static char ngx_http_error_495_page[] =
205 "<html>" CRLF 215 "<html>" CRLF
313 ngx_string(ngx_http_error_416_page), 323 ngx_string(ngx_http_error_416_page),
314 324
315 #define NGX_HTTP_LAST_LEVEL_400 417 325 #define NGX_HTTP_LAST_LEVEL_400 417
316 #define NGX_HTTP_LEVEL_400 (NGX_HTTP_LAST_LEVEL_400 - 400) 326 #define NGX_HTTP_LEVEL_400 (NGX_HTTP_LAST_LEVEL_400 - 400)
317 327
328 ngx_string(ngx_http_error_494_page), /* 494, request header too large */
318 ngx_string(ngx_http_error_495_page), /* 495, https certificate error */ 329 ngx_string(ngx_http_error_495_page), /* 495, https certificate error */
319 ngx_string(ngx_http_error_496_page), /* 496, https no certificate */ 330 ngx_string(ngx_http_error_496_page), /* 496, https no certificate */
320 ngx_string(ngx_http_error_497_page), /* 497, http to https */ 331 ngx_string(ngx_http_error_497_page), /* 497, http to https */
321 ngx_string(ngx_http_error_404_page), /* 498, canceled */ 332 ngx_string(ngx_http_error_404_page), /* 498, canceled */
322 ngx_null_string, /* 499, client has closed connection */ 333 ngx_null_string, /* 499, client has closed connection */
427 { 438 {
428 /* 4XX */ 439 /* 4XX */
429 err = error - NGX_HTTP_BAD_REQUEST + NGX_HTTP_LEVEL_200 440 err = error - NGX_HTTP_BAD_REQUEST + NGX_HTTP_LEVEL_200
430 + NGX_HTTP_LEVEL_300; 441 + NGX_HTTP_LEVEL_300;
431 442
432 } else if (error >= NGX_HTTP_OWN_CODES 443 } else if (error >= NGX_HTTP_NGINX_CODES
433 && error < NGX_HTTP_LAST_LEVEL_500) 444 && error < NGX_HTTP_LAST_LEVEL_500)
434 { 445 {
435 /* 49X, 5XX */ 446 /* 49X, 5XX */
436 err = error - NGX_HTTP_OWN_CODES + NGX_HTTP_LEVEL_200 447 err = error - NGX_HTTP_NGINX_CODES + NGX_HTTP_LEVEL_200
437 + NGX_HTTP_LEVEL_300 448 + NGX_HTTP_LEVEL_300
438 + NGX_HTTP_LEVEL_400; 449 + NGX_HTTP_LEVEL_400;
439 switch (error) { 450 switch (error) {
440 case NGX_HTTP_TO_HTTPS: 451 case NGX_HTTP_TO_HTTPS:
441 case NGX_HTTPS_CERT_ERROR: 452 case NGX_HTTPS_CERT_ERROR:
442 case NGX_HTTPS_NO_CERT: 453 case NGX_HTTPS_NO_CERT:
454 case NGX_HTTP_REQUEST_HEADER_TOO_LARGE:
443 r->err_status = NGX_HTTP_BAD_REQUEST; 455 r->err_status = NGX_HTTP_BAD_REQUEST;
444 break; 456 break;
445 } 457 }
446 458
447 } else { 459 } else {