MINOR: http: Add support for http 413 status
Add 413 http "payload too large" status code. This will allow 413 to be used in deny_status and errorfile.
This commit is contained in:
parent
47d17182f4
commit
85048f80c9
@ -3927,7 +3927,7 @@ errorfile <code> <file>
|
||||
Arguments :
|
||||
<code> is the HTTP status code. Currently, HAProxy is capable of
|
||||
generating codes 200, 400, 401, 403, 404, 405, 407, 408, 410,
|
||||
425, 429, 500, 502, 503, and 504.
|
||||
413, 425, 429, 500, 502, 503, and 504.
|
||||
|
||||
<file> designates a file containing the full HTTP response. It is
|
||||
recommended to follow the common practice of appending ".http" to
|
||||
@ -3976,7 +3976,7 @@ errorfiles <name> [<code> ...]
|
||||
|
||||
<code> is a HTTP status code. Several status code may be listed.
|
||||
Currently, HAProxy is capable of generating codes 200, 400, 401,
|
||||
403, 404, 405, 407, 408, 410, 425, 429, 500, 502, 503, and 504.
|
||||
403, 404, 405, 407, 408, 410, 413, 425, 429, 500, 502, 503, and 504.
|
||||
|
||||
Errors defined in the http-errors section with the name <name> are imported
|
||||
in the current proxy. If no status code is specified, all error files of the
|
||||
@ -4002,7 +4002,7 @@ errorloc302 <code> <url>
|
||||
Arguments :
|
||||
<code> is the HTTP status code. Currently, HAProxy is capable of
|
||||
generating codes 200, 400, 401, 403, 404, 405, 407, 408, 410,
|
||||
425, 429, 500, 502, 503, and 504.
|
||||
413, 425, 429, 500, 502, 503, and 504.
|
||||
|
||||
<url> it is the exact contents of the "Location" header. It may contain
|
||||
either a relative URI to an error page hosted on the same site,
|
||||
@ -4034,7 +4034,7 @@ errorloc303 <code> <url>
|
||||
Arguments :
|
||||
<code> is the HTTP status code. Currently, HAProxy is capable of
|
||||
generating codes 200, 400, 401, 403, 404, 405, 407, 408, 410,
|
||||
425, 429, 500, 502, 503, and 504.
|
||||
413, 425, 429, 500, 502, 503, and 504.
|
||||
|
||||
<url> it is the exact contents of the "Location" header. It may contain
|
||||
either a relative URI to an error page hosted on the same site,
|
||||
@ -5009,8 +5009,8 @@ http-error status <code> [content-type <type>]
|
||||
Arguments :
|
||||
status <code> is the HTTP status code. It must be specified.
|
||||
Currently, HAProxy is capable of generating codes
|
||||
200, 400, 401, 403, 404, 405, 407, 408, 410, 425, 429,
|
||||
500, 502, 503, and 504.
|
||||
200, 400, 401, 403, 404, 405, 407, 408, 410, 413, 425,
|
||||
429, 500, 502, 503, and 504.
|
||||
|
||||
content-type <type> is the response content type, for instance
|
||||
"text/plain". This parameter is ignored and should be
|
||||
@ -5453,22 +5453,22 @@ http-request return [status <code>] [content-type <type>]
|
||||
|
||||
* If "default-errorfiles" argument is set, the proxy's errorfiles are
|
||||
considered. If the "status" argument is defined, it must be one of the
|
||||
status code handled by hparoxy (200, 400, 403, 404, 405, 408, 410, 425,
|
||||
429, 500, 502, 503, and 504). The "content-type" argument, if any, is
|
||||
ignored.
|
||||
status code handled by hparoxy (200, 400, 403, 404, 405, 408, 410, 413,
|
||||
425, 429, 500, 502, 503, and 504). The "content-type" argument, if any,
|
||||
is ignored.
|
||||
|
||||
* If a specific errorfile is defined, with an "errorfile" argument, the
|
||||
corresponding file, containing a full HTTP response, is returned. Only the
|
||||
"status" argument is considered. It must be one of the status code handled
|
||||
by hparoxy (200, 400, 403, 404, 405, 408, 410, 425, 429, 500, 502, 503, and
|
||||
504). The "content-type" argument, if any, is ignored.
|
||||
by hparoxy (200, 400, 403, 404, 405, 408, 410, 413, 425, 429, 500, 502, 503,
|
||||
and 504). The "content-type" argument, if any, is ignored.
|
||||
|
||||
* If an http-errors section is defined, with an "errorfiles" argument, the
|
||||
corresponding file in the specified http-errors section, containing a full
|
||||
HTTP response, is returned. Only the "status" argument is considered. It
|
||||
must be one of the status code handled by hparoxy (200, 400, 403, 404, 405,
|
||||
408, 410, 425, 429, 500, 502, 503, and 504). The "content-type" argument,
|
||||
if any, is ignored.
|
||||
408, 410, 413, 425, 429, 500, 502, 503, and 504). The "content-type"
|
||||
argument, if any, is ignored.
|
||||
|
||||
* If a "file" or a "lf-file" argument is specified, the file's content is
|
||||
used as the response payload. If the file is not empty, its content-type
|
||||
@ -6100,22 +6100,22 @@ http-response return [status <code>] [content-type <type>]
|
||||
|
||||
* If "default-errorfiles" argument is set, the proxy's errorfiles are
|
||||
considered. If the "status" argument is defined, it must be one of the
|
||||
status code handled by hparoxy (200, 400, 403, 404, 405, 408, 410, 425,
|
||||
429, 500, 502, 503, and 504). The "content-type" argument, if any, is
|
||||
ignored.
|
||||
status code handled by hparoxy (200, 400, 403, 404, 405, 408, 410, 413,
|
||||
425, 429, 500, 502, 503, and 504). The "content-type" argument, if any,
|
||||
is ignored.
|
||||
|
||||
* If a specific errorfile is defined, with an "errorfile" argument, the
|
||||
corresponding file, containing a full HTTP response, is returned. Only the
|
||||
"status" argument is considered. It must be one of the status code handled
|
||||
by hparoxy (200, 400, 403, 404, 405, 408, 410, 425, 429, 500, 502, 503, and
|
||||
504). The "content-type" argument, if any, is ignored.
|
||||
by hparoxy (200, 400, 403, 404, 405, 408, 410, 413, 425, 429, 500, 502, 503,
|
||||
and 504). The "content-type" argument, if any, is ignored.
|
||||
|
||||
* If an http-errors section is defined, with an "errorfiles" argument, the
|
||||
corresponding file in the specified http-errors section, containing a full
|
||||
HTTP response, is returned. Only the "status" argument is considered. It
|
||||
must be one of the status code handled by hparoxy (200, 400, 403, 404, 405,
|
||||
408, 410, 425, 429, 500, 502, 503, and 504). The "content-type" argument,
|
||||
if any, is ignored.
|
||||
408, 410, 413, 425, 429, 500, 502, 503, and 504). The "content-type"
|
||||
argument, if any, is ignored.
|
||||
|
||||
* If a "file" or a "lf-file" argument is specified, the file's content is
|
||||
used as the response payload. If the file is not empty, its content-type
|
||||
|
@ -90,6 +90,7 @@ enum {
|
||||
HTTP_ERR_407,
|
||||
HTTP_ERR_408,
|
||||
HTTP_ERR_410,
|
||||
HTTP_ERR_413,
|
||||
HTTP_ERR_421,
|
||||
HTTP_ERR_425,
|
||||
HTTP_ERR_429,
|
||||
|
10
src/http.c
10
src/http.c
@ -165,6 +165,7 @@ const int http_err_codes[HTTP_ERR_SIZE] = {
|
||||
[HTTP_ERR_407] = 407,
|
||||
[HTTP_ERR_408] = 408,
|
||||
[HTTP_ERR_410] = 410,
|
||||
[HTTP_ERR_413] = 413,
|
||||
[HTTP_ERR_421] = 421,
|
||||
[HTTP_ERR_425] = 425,
|
||||
[HTTP_ERR_429] = 429,
|
||||
@ -249,6 +250,14 @@ const char *http_err_msgs[HTTP_ERR_SIZE] = {
|
||||
"\r\n"
|
||||
"<html><body><h1>410 Gone</h1>\nThe resource is no longer available and will not be available again.\n</body></html>\n",
|
||||
|
||||
[HTTP_ERR_413] =
|
||||
"HTTP/1.1 413 Payload Too Large\r\n"
|
||||
"Content-length: 106\r\n"
|
||||
"Cache-Control: no-cache\r\n"
|
||||
"Content-Type: text/html\r\n"
|
||||
"\r\n"
|
||||
"<html><body><h1>413 Payload Too Large</h1>\nThe request entity exceeds the maximum allowed.\n</body></html>\n",
|
||||
|
||||
[HTTP_ERR_421] =
|
||||
"HTTP/1.1 421 Misdirected Request\r\n"
|
||||
"Content-length: 104\r\n"
|
||||
@ -351,6 +360,7 @@ int http_get_status_idx(unsigned int status)
|
||||
case 407: return HTTP_ERR_407;
|
||||
case 408: return HTTP_ERR_408;
|
||||
case 410: return HTTP_ERR_410;
|
||||
case 413: return HTTP_ERR_413;
|
||||
case 421: return HTTP_ERR_421;
|
||||
case 425: return HTTP_ERR_425;
|
||||
case 429: return HTTP_ERR_429;
|
||||
|
Loading…
x
Reference in New Issue
Block a user