{ 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." }
: 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> ;
[ 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 ;