net.http.codes: Regenerate from IANA registry with tool
authorKim Alvefur <zash@zash.se>
Sat, 11 Aug 2018 17:22:26 +0200
changeset 9170 7ed130d3676c
parent 9169 cce55767004a
child 9171 29de7ad20250
net.http.codes: Regenerate from IANA registry with tool
net/http/codes.lua
--- a/net/http/codes.lua	Thu Feb 08 17:35:42 2018 +0100
+++ b/net/http/codes.lua	Sat Aug 11 17:22:26 2018 +0200
@@ -1,73 +1,85 @@
 
 local response_codes = {
 	-- Source: http://www.iana.org/assignments/http-status-codes
-	-- s/^\(\d*\)\s*\(.*\S\)\s*\[RFC.*\]\s*$/^I["\1"] = "\2";
-	[100] = "Continue";
-	[101] = "Switching Protocols";
+
+	[100] = "Continue"; -- RFC7231, Section 6.2.1
+	[101] = "Switching Protocols"; -- RFC7231, Section 6.2.2
 	[102] = "Processing";
+	[103] = "Early Hints";
+	-- [104-199] = "Unassigned";
 
-	[200] = "OK";
-	[201] = "Created";
-	[202] = "Accepted";
-	[203] = "Non-Authoritative Information";
-	[204] = "No Content";
-	[205] = "Reset Content";
-	[206] = "Partial Content";
+	[200] = "OK"; -- RFC7231, Section 6.3.1
+	[201] = "Created"; -- RFC7231, Section 6.3.2
+	[202] = "Accepted"; -- RFC7231, Section 6.3.3
+	[203] = "Non-Authoritative Information"; -- RFC7231, Section 6.3.4
+	[204] = "No Content"; -- RFC7231, Section 6.3.5
+	[205] = "Reset Content"; -- RFC7231, Section 6.3.6
+	[206] = "Partial Content"; -- RFC7233, Section 4.1
 	[207] = "Multi-Status";
 	[208] = "Already Reported";
+	-- [209-225] = "Unassigned";
 	[226] = "IM Used";
+	-- [227-299] = "Unassigned";
 
-	[300] = "Multiple Choices";
-	[301] = "Moved Permanently";
-	[302] = "Found";
-	[303] = "See Other";
-	[304] = "Not Modified";
-	[305] = "Use Proxy";
-	-- The 306 status code was used in a previous version of [RFC2616], is no longer used, and the code is reserved.
-	[307] = "Temporary Redirect";
+	[300] = "Multiple Choices"; -- RFC7231, Section 6.4.1
+	[301] = "Moved Permanently"; -- RFC7231, Section 6.4.2
+	[302] = "Found"; -- RFC7231, Section 6.4.3
+	[303] = "See Other"; -- RFC7231, Section 6.4.4
+	[304] = "Not Modified"; -- RFC7232, Section 4.1
+	[305] = "Use Proxy"; -- RFC7231, Section 6.4.5
+	-- [306] = "(Unused)"; -- RFC7231, Section 6.4.6
+	[307] = "Temporary Redirect"; -- RFC7231, Section 6.4.7
 	[308] = "Permanent Redirect";
+	-- [309-399] = "Unassigned";
 
-	[400] = "Bad Request";
-	[401] = "Unauthorized";
-	[402] = "Payment Required";
-	[403] = "Forbidden";
-	[404] = "Not Found";
-	[405] = "Method Not Allowed";
-	[406] = "Not Acceptable";
-	[407] = "Proxy Authentication Required";
-	[408] = "Request Timeout";
-	[409] = "Conflict";
-	[410] = "Gone";
-	[411] = "Length Required";
-	[412] = "Precondition Failed";
-	[413] = "Payload Too Large";
-	[414] = "URI Too Long";
-	[415] = "Unsupported Media Type";
-	[416] = "Range Not Satisfiable";
-	[417] = "Expectation Failed";
-	[418] = "I'm a teapot";
-	[421] = "Misdirected Request";
+	[400] = "Bad Request"; -- RFC7231, Section 6.5.1
+	[401] = "Unauthorized"; -- RFC7235, Section 3.1
+	[402] = "Payment Required"; -- RFC7231, Section 6.5.2
+	[403] = "Forbidden"; -- RFC7231, Section 6.5.3
+	[404] = "Not Found"; -- RFC7231, Section 6.5.4
+	[405] = "Method Not Allowed"; -- RFC7231, Section 6.5.5
+	[406] = "Not Acceptable"; -- RFC7231, Section 6.5.6
+	[407] = "Proxy Authentication Required"; -- RFC7235, Section 3.2
+	[408] = "Request Timeout"; -- RFC7231, Section 6.5.7
+	[409] = "Conflict"; -- RFC7231, Section 6.5.8
+	[410] = "Gone"; -- RFC7231, Section 6.5.9
+	[411] = "Length Required"; -- RFC7231, Section 6.5.10
+	[412] = "Precondition Failed"; -- RFC7232, Section 4.2
+	[413] = "Payload Too Large"; -- RFC7231, Section 6.5.11
+	[414] = "URI Too Long"; -- RFC7231, Section 6.5.12
+	[415] = "Unsupported Media Type"; -- RFC7231, Section 6.5.13
+	[416] = "Range Not Satisfiable"; -- RFC7233, Section 4.4
+	[417] = "Expectation Failed"; -- RFC7231, Section 6.5.14
+	[418] = "I'm a teapot"; -- RFC2324, Section 2.3.2
+	-- [418-420] = "Unassigned";
+	[421] = "Misdirected Request"; -- RFC7540, Section 9.1.2
 	[422] = "Unprocessable Entity";
 	[423] = "Locked";
 	[424] = "Failed Dependency";
-	-- The 425 status code is reserved for the WebDAV advanced collections expired proposal [RFC2817]
-	[426] = "Upgrade Required";
+	[425] = "Too Early";
+	[426] = "Upgrade Required"; -- RFC7231, Section 6.5.15
+	-- [427] = "Unassigned";
 	[428] = "Precondition Required";
 	[429] = "Too Many Requests";
+	-- [430] = "Unassigned";
 	[431] = "Request Header Fields Too Large";
+	-- [432-450] = "Unassigned";
 	[451] = "Unavailable For Legal Reasons";
+	-- [452-499] = "Unassigned";
 
-	[500] = "Internal Server Error";
-	[501] = "Not Implemented";
-	[502] = "Bad Gateway";
-	[503] = "Service Unavailable";
-	[504] = "Gateway Timeout";
-	[505] = "HTTP Version Not Supported";
-	[506] = "Variant Also Negotiates"; -- Experimental
+	[500] = "Internal Server Error"; -- RFC7231, Section 6.6.1
+	[501] = "Not Implemented"; -- RFC7231, Section 6.6.2
+	[502] = "Bad Gateway"; -- RFC7231, Section 6.6.3
+	[503] = "Service Unavailable"; -- RFC7231, Section 6.6.4
+	[504] = "Gateway Timeout"; -- RFC7231, Section 6.6.5
+	[505] = "HTTP Version Not Supported"; -- RFC7231, Section 6.6.6
+	[506] = "Variant Also Negotiates";
 	[507] = "Insufficient Storage";
 	[508] = "Loop Detected";
+	-- [509] = "Unassigned";
 	[510] = "Not Extended";
 	[511] = "Network Authentication Required";
+	-- [512-599] = "Unassigned";
 };
 
 for k,v in pairs(response_codes) do response_codes[k] = k.." "..v; end