http.server.responses: less dynamic but equal.

char-rename
John Benediktsson 2016-07-10 15:44:54 -07:00
parent cab9a3d625
commit 77bb2c4146
2 changed files with 62 additions and 128 deletions

View File

@ -1,110 +0,0 @@
Hypertext Transfer Protocol (HTTP) Status Code Registry
Last Updated
2016-03-01
Available Formats
[IMG]
XML [IMG]
HTML [IMG]
Plain text
Registry included below
* HTTP Status Codes
HTTP Status Codes
Registration Procedure(s)
IETF Review
Reference
[RFC7231]
Note
1xx: Informational - Request received, continuing process
2xx: Success - The action was successfully received, understood, and accepted
3xx: Redirection - Further action must be taken in order to complete the request
4xx: Client Error - The request contains bad syntax or cannot be fulfilled
5xx: Server Error - The server failed to fulfill an apparently valid request
Available Formats
[IMG]
CSV
Value Description Reference
100 Continue [RFC7231, Section 6.2.1]
101 Switching Protocols [RFC7231, Section 6.2.2]
102 Processing [RFC2518]
103-199 Unassigned
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 [RFC4918]
208 Already Reported [RFC5842]
209-225 Unassigned
226 IM Used [RFC3229]
227-299 Unassigned
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 [RFC7538]
309-399 Unassigned
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][RFC7694, Section 3]
416 Range Not Satisfiable [RFC7233, Section 4.4]
417 Expectation Failed [RFC7231, Section 6.5.14]
418-420 Unassigned
421 Misdirected Request [RFC7540, Section 9.1.2]
422 Unprocessable Entity [RFC4918]
423 Locked [RFC4918]
424 Failed Dependency [RFC4918]
425 Unassigned
426 Upgrade Required [RFC7231, Section 6.5.15]
427 Unassigned
428 Precondition Required [RFC6585]
429 Too Many Requests [RFC6585]
430 Unassigned
431 Request Header Fields Too Large [RFC6585]
432-450 Unassigned
451 Unavailable For Legal Reasons [RFC7725]
452-499 Unassigned
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 [RFC2295]
507 Insufficient Storage [RFC4918]
508 Loop Detected [RFC5842]
509 Unassigned
510 Not Extended [RFC2774]
511 Network Authentication Required [RFC6585]
512-599 Unassigned

View File

@ -1,8 +1,7 @@
! Copyright (C) 2008, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors fry http io io.encodings.utf8 io.files
io.streams.string kernel math math.parser parser sequences
splitting unicode words xml.syntax xml.writer ;
USING: accessors http io.encodings.utf8 io.streams.string kernel
xml.syntax xml.writer ;
IN: http.server.responses
: <content> ( body content-type -- response )
@ -34,18 +33,63 @@ IN: http.server.responses
swap >>message
swap >>code ;
<<
"vocab:http/server/responses/http-status-codes.txt"
utf8 file-lines [ [ blank? ] trim ] map
dup [ "Value" head? ] find drop 1 + tail
[ "Unassigned" swap subseq? ] reject
[
"[RFC" over start head " " split1 [ blank? ] trim
[
[
"<" ">" surround create-word-in dup reset-generic
] keep string>number
] dip '[ _ _ <trivial-response> ] ( -- response )
define-declared
] each
>>
: <100> ( -- response ) "100" "Continue" <trivial-response> ;
: <101> ( -- response ) "101" "Switching Protocols" <trivial-response> ;
: <102> ( -- response ) "102" "Processing" <trivial-response> ;
: <200> ( -- response ) "200" "OK" <trivial-response> ;
: <201> ( -- response ) "201" "Created" <trivial-response> ;
: <202> ( -- response ) "202" "Accepted" <trivial-response> ;
: <203> ( -- response ) "203" "Non-Authoritative Information" <trivial-response> ;
: <204> ( -- response ) "204" "No Content" <trivial-response> ;
: <205> ( -- response ) "205" "Reset Content" <trivial-response> ;
: <206> ( -- response ) "206" "Partial Content" <trivial-response> ;
: <207> ( -- response ) "207" "Multi-Status" <trivial-response> ;
: <208> ( -- response ) "208" "Already Reported" <trivial-response> ;
: <226> ( -- response ) "226" "IM Used" <trivial-response> ;
: <300> ( -- response ) "300" "Multiple Choices" <trivial-response> ;
: <301> ( -- response ) "301" "Moved Permanently" <trivial-response> ;
: <302> ( -- response ) "302" "Found" <trivial-response> ;
: <303> ( -- response ) "303" "See Other" <trivial-response> ;
: <304> ( -- response ) "304" "Not Modified" <trivial-response> ;
: <305> ( -- response ) "305" "Use Proxy" <trivial-response> ;
: <306> ( -- response ) "306" "(Unused)" <trivial-response> ;
: <307> ( -- response ) "307" "Temporary Redirect" <trivial-response> ;
: <308> ( -- response ) "308" "Permanent Redirect" <trivial-response> ;
: <400> ( -- response ) "400" "Bad Request" <trivial-response> ;
: <401> ( -- response ) "401" "Unauthorized" <trivial-response> ;
: <402> ( -- response ) "402" "Payment Required" <trivial-response> ;
: <403> ( -- response ) "403" "Forbidden" <trivial-response> ;
: <404> ( -- response ) "404" "Not Found" <trivial-response> ;
: <405> ( -- response ) "405" "Method Not Allowed" <trivial-response> ;
: <406> ( -- response ) "406" "Not Acceptable" <trivial-response> ;
: <407> ( -- response ) "407" "Proxy Authentication Required" <trivial-response> ;
: <408> ( -- response ) "408" "Request Timeout" <trivial-response> ;
: <409> ( -- response ) "409" "Conflict" <trivial-response> ;
: <410> ( -- response ) "410" "Gone" <trivial-response> ;
: <411> ( -- response ) "411" "Length Required" <trivial-response> ;
: <412> ( -- response ) "412" "Precondition Failed" <trivial-response> ;
: <413> ( -- response ) "413" "Payload Too Large" <trivial-response> ;
: <414> ( -- response ) "414" "URI Too Long" <trivial-response> ;
: <415> ( -- response ) "415" "Unsupported Media Type" <trivial-response> ;
: <416> ( -- response ) "416" "Range Not Satisfiable" <trivial-response> ;
: <417> ( -- response ) "417" "Expectation Failed" <trivial-response> ;
: <421> ( -- response ) "421" "Misdirected Request" <trivial-response> ;
: <422> ( -- response ) "422" "Unprocessable Entity" <trivial-response> ;
: <423> ( -- response ) "423" "Locked" <trivial-response> ;
: <424> ( -- response ) "424" "Failed Dependency" <trivial-response> ;
: <426> ( -- response ) "426" "Upgrade Required" <trivial-response> ;
: <428> ( -- response ) "428" "Precondition Required" <trivial-response> ;
: <429> ( -- response ) "429" "Too Many Requests" <trivial-response> ;
: <431> ( -- response ) "431" "Request Header Fields Too Large" <trivial-response> ;
: <451> ( -- response ) "451" "Unavailable For Legal Reasons" <trivial-response> ;
: <500> ( -- response ) "500" "Internal Server Error" <trivial-response> ;
: <501> ( -- response ) "501" "Not Implemented" <trivial-response> ;
: <502> ( -- response ) "502" "Bad Gateway" <trivial-response> ;
: <503> ( -- response ) "503" "Service Unavailable" <trivial-response> ;
: <504> ( -- response ) "504" "Gateway Timeout" <trivial-response> ;
: <505> ( -- response ) "505" "HTTP Version Not Supported" <trivial-response> ;
: <506> ( -- response ) "506" "Variant Also Negotiates" <trivial-response> ;
: <507> ( -- response ) "507" "Insufficient Storage" <trivial-response> ;
: <508> ( -- response ) "508" "Loop Detected" <trivial-response> ;
: <510> ( -- response ) "510" "Not Extended" <trivial-response> ;
: <511> ( -- response ) "511" "Network Authentication Required" <trivial-response> ;