]> gitweb.factorcode.org Git - factor.git/commitdiff
http.server.responses: less dynamic but equal.
authorJohn Benediktsson <mrjbq7@gmail.com>
Sun, 10 Jul 2016 22:44:54 +0000 (15:44 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sun, 10 Jul 2016 22:44:54 +0000 (15:44 -0700)
basis/http/server/responses/http-status-codes.txt [deleted file]
basis/http/server/responses/responses.factor

diff --git a/basis/http/server/responses/http-status-codes.txt b/basis/http/server/responses/http-status-codes.txt
deleted file mode 100644 (file)
index b928c07..0000000
+++ /dev/null
@@ -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
index 2afc8de0a58c0950a458dfffa471cfd06c4960d4..b4cfdbfe60ba001815900437705fb0ca224e89d0 100644 (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> ;