Mercurial > hg > nginx
comparison src/http/ngx_http_special_response.c @ 69:e43f406e4525
nginx-0.0.1-2003-03-20-19:09:44 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 20 Mar 2003 16:09:44 +0000 |
parents | d549fdc17d7e |
children | 59229033ae93 |
comparison
equal
deleted
inserted
replaced
68:d549fdc17d7e | 69:e43f406e4525 |
---|---|
37 "<body bgcolor=\"white\">" CRLF | 37 "<body bgcolor=\"white\">" CRLF |
38 "<center><h1>404 Not Found</h1></center>" CRLF | 38 "<center><h1>404 Not Found</h1></center>" CRLF |
39 ; | 39 ; |
40 | 40 |
41 | 41 |
42 static char error_408_page[] = | |
43 "<html>" CRLF | |
44 "<head><title>408 Request Time-out</title></head>" CRLF | |
45 "<body bgcolor=\"white\">" CRLF | |
46 "<center><h1>408 Request Time-out</h1></center>" CRLF | |
47 ; | |
48 | |
49 | |
42 static char error_414_page[] = | 50 static char error_414_page[] = |
43 "<html>" CRLF | 51 "<html>" CRLF |
44 "<head><title>414 Request-URI Too Large</title></head>" CRLF | 52 "<head><title>414 Request-URI Too Large</title></head>" CRLF |
45 "<body bgcolor=\"white\">" CRLF | 53 "<body bgcolor=\"white\">" CRLF |
46 "<center><h1>414 Request-URI Too Large</h1></center>" CRLF | 54 "<center><h1>414 Request-URI Too Large</h1></center>" CRLF |
53 "<body bgcolor=\"white\">" CRLF | 61 "<body bgcolor=\"white\">" CRLF |
54 "<center><h1>500 Internal Server Error</h1></center>" CRLF | 62 "<center><h1>500 Internal Server Error</h1></center>" CRLF |
55 ; | 63 ; |
56 | 64 |
57 | 65 |
66 static char error_502_page[] = | |
67 "<html>" CRLF | |
68 "<head><title>502 Bad Gateway</title></head>" CRLF | |
69 "<body bgcolor=\"white\">" CRLF | |
70 "<center><h1>502 Bad Gateway</h1></center>" CRLF | |
71 ; | |
72 | |
73 | |
74 static char error_504_page[] = | |
75 "<html>" CRLF | |
76 "<head><title>504 Gateway Time-out</title></head>" CRLF | |
77 "<body bgcolor=\"white\">" CRLF | |
78 "<center><h1>504 Gateway Time-out</h1></center>" CRLF | |
79 ; | |
80 | |
81 | |
58 static ngx_str_t error_pages[] = { | 82 static ngx_str_t error_pages[] = { |
59 { 0, NULL}, /* 301 */ | 83 ngx_null_string, /* 301 */ |
60 { 0, NULL}, /* 302 */ | 84 ngx_null_string, /* 302 */ |
61 { 0, NULL}, /* 303 */ | 85 ngx_null_string, /* 303 */ |
62 { 0, NULL}, /* 304 */ | |
63 | 86 |
64 { sizeof(error_400_page) - 1, error_400_page }, | 87 ngx_string(error_400_page), |
65 { 0, NULL}, /* 401 */ | 88 ngx_null_string, /* 401 */ |
66 { 0, NULL}, /* 402 */ | 89 ngx_null_string, /* 402 */ |
67 { sizeof(error_403_page) - 1, error_403_page }, | 90 ngx_string(error_403_page), |
68 { sizeof(error_404_page) - 1, error_404_page }, | 91 ngx_string(error_404_page), |
69 { 0, NULL}, /* 405 */ | 92 ngx_null_string, /* 405 */ |
70 { 0, NULL}, /* 406 */ | 93 ngx_null_string, /* 406 */ |
71 { 0, NULL}, /* 407 */ | 94 ngx_null_string, /* 407 */ |
72 { 0, NULL}, /* 408 */ | 95 ngx_string(error_408_page), |
73 { 0, NULL}, /* 409 */ | 96 ngx_null_string, /* 409 */ |
74 { 0, NULL}, /* 410 */ | 97 ngx_null_string, /* 410 */ |
75 { 0, NULL}, /* 411 */ | 98 ngx_null_string, /* 411 */ |
76 { 0, NULL}, /* 412 */ | 99 ngx_null_string, /* 412 */ |
77 { 0, NULL}, /* 413 */ | 100 ngx_null_string, /* 413 */ |
78 { sizeof(error_414_page) - 1, error_414_page }, | 101 ngx_string(error_414_page), |
79 { 0, NULL}, /* 415 */ | 102 ngx_null_string, /* 415 */ |
80 { 0, NULL}, /* 416 */ | 103 ngx_null_string, /* 416 */ |
81 | 104 |
82 { sizeof(error_500_page) - 1, error_500_page } | 105 ngx_string(error_500_page), |
106 ngx_null_string, /* 501 */ | |
107 ngx_string(error_502_page), | |
108 ngx_null_string, /* 503 */ | |
109 ngx_string(error_504_page) | |
83 }; | 110 }; |
84 | 111 |
85 | 112 |
86 int ngx_http_special_response(ngx_http_request_t *r, int error) | 113 int ngx_http_special_response_handler(ngx_http_request_t *r, int error) |
87 { | 114 { |
88 int err, len; | 115 int err, len; |
89 ngx_hunk_t *message, *tail; | 116 ngx_hunk_t *message, *tail; |
90 | 117 |
91 len = 0; | 118 len = 0; |
94 | 121 |
95 if (error < NGX_HTTP_BAD_REQUEST) { | 122 if (error < NGX_HTTP_BAD_REQUEST) { |
96 err = error - NGX_HTTP_MOVED_PERMANENTLY; | 123 err = error - NGX_HTTP_MOVED_PERMANENTLY; |
97 | 124 |
98 } else if (error < NGX_HTTP_INTERNAL_SERVER_ERROR) { | 125 } else if (error < NGX_HTTP_INTERNAL_SERVER_ERROR) { |
99 err = error - NGX_HTTP_BAD_REQUEST + 4; | 126 err = error - NGX_HTTP_BAD_REQUEST + 3; |
100 | 127 |
101 } else { | 128 } else { |
102 err = error - NGX_HTTP_INTERNAL_SERVER_ERROR + 4 + 17; | 129 err = error - NGX_HTTP_INTERNAL_SERVER_ERROR + 3 + 17; |
103 } | 130 } |
104 | 131 |
105 if (r->keepalive != 0) { | 132 if (r->keepalive != 0) { |
106 switch (error) { | 133 switch (error) { |
107 case NGX_HTTP_BAD_REQUEST: | 134 case NGX_HTTP_BAD_REQUEST: |