# requests Scheme library to make https requests. Built with [foreign c](https://sr.ht/~retropikzel/foreign-c/) and libcurl. [Repository](https://git.sr.ht/~retropikzel/foreign-c-requests) [Issue tracker](https://sr.ht/~retropikzel/foreign-c/trackers) [Jenkins](https://jenkins.scheme.org/job/foreign_c/job/foreign-c-requests/) ## Caveats - Not yet working on Mosh - No cookie reading support yet ## Dependencies Depends on libcurl, on Debian/Ubuntu: apt-get install libcurl4-openssl-dev or apt-get install libcurl4-gnutls-dev ## Documentation (**request** method url . option ...) Method is [http method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Methods) as a symbol. For example 'GET or 'POST. Url is the url you want to make request to. Options are pairs passed in after other arguments, for example: (define url "https://snow-fort.org/s/gmail.com/nma.arvydas.silanskas/arvyy/mustache/1.0.2/arvyy-mustache-1.0.2.tgz") (request 'GET url '(download-path . "/tmp/arvyy-mustache-1.0.2.tgz")) Options: - download-path - Downloads the response of request to given path - If this is not given temporary file is used and deleted after - headers - An association list of headers - body - Request body as a string - Example: (define response (request 'POST "http://echo-http-requests.appspot.com/echo" '(body . "Hello world"))) (**response-status-code** response) Returns the HTTP status code of the response. (**response-text** response) Returns the content of the response as text. (**response-bytes** response) Returns the content of the response as bytes. (**response-headers** response) Returns the response headers as an association list. Header names are downcased symbols.