aws/request: Split request-json-string.
authorRicardo Wurmus <rekado@elephly.net>
Tue, 2 Mar 2021 21:54:10 +0000 (22:54 +0100)
committerRicardo Wurmus <rekado@elephly.net>
Tue, 2 Mar 2021 21:54:10 +0000 (22:54 +0100)
* aws/request.scm (input-arguments->scm): New procedure.
(request-json-string): Use it.

aws/request.scm

index 4090f009129bc3b91343c3c9fc1367c7804e621e..9b36d5d5176997688e6c8186d358b5c448ce933f 100644 (file)
@@ -157,12 +157,16 @@ which can easily be converted to JSON."
        (list->vector (map aws-value->scm l)))
       (x x)))))
 
+(define (input-arguments->scm input)
+  "Return the arguments of the INPUT value as an alist.  Drop the
+operation name."
+  (match (aws-value->scm input)
+    (((op-name . params)) params)))
+
 (define (request-json-string input)
   "Return a request JSON block.  Drop the operation name as it is
 already mentioned in the request headers."
-  (match (aws-value->scm input)
-    (((op-name . params))
-     (scm->json-string params))))
+  (scm->json-string (input-arguments->scm input)))
 
 (define* (make-operation->request api-metadata)
   "Return a procedure that accepts an operation and returns an HTTP request."