]> gitweb.factorcode.org Git - factor.git/commitdiff
add PATCH http method
authorRudi Grinberg <me@rgrinberg.com>
Sun, 9 Jan 2022 05:23:09 +0000 (22:23 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sun, 9 Jan 2022 05:40:21 +0000 (21:40 -0800)
ps-id: 4B1F8D46-147C-4C89-8318-074F328E564D

basis/http/client/client-docs.factor
basis/http/client/client.factor
basis/http/parsers/parsers.factor

index d846693adb938b67e85d04a6530712ee68513b6a..d0645ee88dd81537aa2b51a2bc02cdfaa59b1fb6 100644 (file)
@@ -124,6 +124,17 @@ HELP: http-options*
 
 { http-options http-options* } related-words
 
+HELP: http-patch
+{ $values { "url" { $or url string } } { "response" response } { "data" sequence } }
+{ $description "Submits an HTTP PATCH request." }
+{ $errors "Throws an error if the HTTP request fails." } ;
+
+HELP: http-patch*
+{ $values { "url" { $or url string } } { "response" response } { "data" sequence } }
+{ $description "Submits an HTTP PATCH request, but does not check the HTTP response code for success." } ;
+
+{ http-patch http-patch* } related-words
+
 HELP: http-trace
 { $values { "url" "a " { $link url } " or " { $link string } } { "response" response } { "data" sequence } }
 { $description "Submits an HTTP TRACE request." }
index b0bad5ff61ea2a61dfbed85dcb77747d1188a78b..236a203bc8ec844fa42cbb69d2be6a7c80e3d333 100644 (file)
@@ -335,6 +335,15 @@ PRIVATE>
 : http-options* ( url -- response data )
     <options-request> http-request* ;
 
+: <patch-request> ( url -- request )
+    "PATCH" <client-request> ;
+
+: http-patch ( url -- response data )
+    <patch-request> http-request ;
+
+: http-patch* ( url -- response data )
+    <patch-request> http-request* ;
+
 : <trace-request> ( url -- request )
     "TRACE" <client-request> ;
 
index dab80d9f211bca4f2974f7dd5127ec45cd61227b..8273d5533990fe3e67ad6a18aaa21562445da66a 100644 (file)
@@ -36,7 +36,7 @@ IN: http.parsers
     [ token ] map choice ;
 
 : http-method-parser ( -- parser )
-    { "OPTIONS" "GET" "HEAD" "POST" "PUT" "DELETE" "TRACE" "CONNECT" } one-of ;
+    { "OPTIONS" "GET" "HEAD" "POST" "PUT" "DELETE" "TRACE" "CONNECT" "PATCH" } one-of ;
 
 : url-parser ( -- parser )
     [ " \t\r\n" member? ] except repeat1 case-sensitive ;