Mercurial > hg > nginx-ranges
comparison src/http/ngx_http_special_response.c @ 625: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
624:f02ddde4a240 | 625: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 { |