(use srfi-13 intarweb uri-common http-client medea) (define slack-url "https://slack.com/api/") (define auth.token "something") (define (slack.read token uri #!optional params) (let* ((p (cond ((list? params) (append `((token . ,token)) params)) (else `((token . ,token))))) (u (string-append slack-url uri))) ((display p) (newline) (read-json (with-input-from-request u p read-string))))) (define (slack.auth.test token) (slack.read auth.token "auth.test")) (define (slack.api.test token) (slack.read auth.token "api.test")) (pretty-print (slack.auth.test auth.token)) (pretty-print (slack.api.test auth.token)) ; Error message: ; Error: call of non-procedure: # ; ; Call history: ; ; http-client.scm:235: read-string! ; http-client.scm:603: cleanup! ; http-client.scm:538: intarweb#keep-alive? ; intarweb.scm:361: header-value ; header-parsers.scm:13: header-contents ; header-parsers.scm:5: alist-ref ; http-client.scm:539: intarweb#keep-alive? ; intarweb.scm:361: header-value ; header-parsers.scm:13: header-contents ; header-parsers.scm:5: alist-ref ; http-client.scm:604: intarweb#request-uri ; http-client.scm:604: values ; http-client.scm:507: k882 ; http-client.scm:507: g886 ; slack.scm:31: medea#read-json ; slack.scm:25: g246 <--