diff --git a/script/lib_tests/babashka_curl_test b/script/lib_tests/babashka_curl_test index 7620200e..3605234f 100755 --- a/script/lib_tests/babashka_curl_test +++ b/script/lib_tests/babashka_curl_test @@ -11,23 +11,23 @@ else fi $BB_CMD -e " -(require '[babashka.curl :as curl]) +(require '[babashka.curl :as curl] :reload-all) -(prn (subs (curl/get \"https://www.clojure.org\") 0 10)) +(prn (:status (curl/get \"https://www.clojure.org\"))) -(prn (subs (curl/get \"https://postman-echo.com/get?foo1=bar1&foo2=bar2\") 0 10)) +(prn (:status (curl/get \"https://postman-echo.com/get?foo1=bar1&foo2=bar2\"))) -(prn (subs (curl/post \"https://postman-echo.com/post\") 0 10)) +(prn (:status (curl/post \"https://postman-echo.com/post\"))) -(prn (subs (curl/post \"https://postman-echo.com/post\" - {:body (json/generate-string {:a 1}) +(prn (:status (curl/post \"https://postman-echo.com/post\" + {:body (json/generate-string {:a 1}) :headers {\"X-Hasura-Role\" \"admin\"} :content-type :json - :accept :json}) 0 10)) + :accept :json}))) -(prn (subs (curl/put \"https://postman-echo.com/put\" +(prn (:status (curl/put \"https://postman-echo.com/put\" {:body (json/generate-string {:a 1}) :headers {\"X-Hasura-Role\" \"admin\"} :content-type :json - :accept :json}) 0 10)) + :accept :json}))) " diff --git a/src/babashka/impl/classes.clj b/src/babashka/impl/classes.clj index e5f48a4c..29fbc403 100644 --- a/src/babashka/impl/classes.clj +++ b/src/babashka/impl/classes.clj @@ -23,6 +23,7 @@ java.io.IOException java.io.OutputStream java.io.FileReader + java.io.PushbackInputStream java.io.Reader java.io.StringReader java.io.StringWriter diff --git a/src/babashka/impl/curl.clj b/src/babashka/impl/curl.clj index fa036ff7..cf24bc60 100644 --- a/src/babashka/impl/curl.clj +++ b/src/babashka/impl/curl.clj @@ -1,12 +1,16 @@ (ns babashka.impl.curl {:no-doc true} - (:require [babashka.curl :as curl])) + (:require [babashka.curl :as curl] + [sci.impl.namespaces :refer [copy-var]] + [sci.impl.vars :as vars])) + +(def tns (vars/->SciNamespace 'babashka.curl nil)) (def curl-namespace - {'request curl/request - 'get curl/get - 'patch curl/patch - 'post curl/post - 'put curl/put - 'head curl/head - 'curl-command curl/curl-command}) + {'request (copy-var curl/request tns) + 'get (copy-var curl/get tns) + 'patch (copy-var curl/patch tns) + 'post (copy-var curl/post tns) + 'put (copy-var curl/put tns) + 'head (copy-var curl/head tns) + 'curl-command (copy-var curl/curl-command tns)})