Sorry, an error happened.
")) xml->sxml) ,(user-message-sxml error)))) <>)))) ;; Other kind of exception (raise-exception error)) (lambda () (receive (response response-body response-meta) (handle (endpoint simulation) rq rq-body) (values response response-body))))) (unless (response-date response) ;; We need to set a date. (set! response (build-response #:version (response-version response) #:code (response-code response) #:reason-phrase (response-reason-phrase response) #:headers `((date . ,((p:current-date))) ,@(response-headers response)) #:port (response-port response)))) (slot-set! simulation 'log-rev `((,rq ,rq-body ,response ,response-body) ,@(slot-ref simulation 'log-rev))) (values response response-body)))) (define* (get simulation uri . args) (apply request simulation uri #:method 'GET args)) (define* (post simulation uri . args) (apply request simulation uri #:method 'POST args)) (define (grant-authorization simulation authorization-uri) (receive (response response-body) (request simulation authorization-uri #:method 'POST #:body "password=password" #:headers '((content-type application/x-www-form-urlencoded))) (unless (and (eqv? (response-code response) 302) (response-location response) (uri-query (response-location response)) (string-prefix? "code=" (uri-query (response-location response)))) (fail (format #f (G_ "invalid credentials: response ~s ~s") (response-code response) (response-reason-phrase response)))) (let* ((uri (response-location response)) (query (uri-query uri)) (code (substring query (string-length "code=")))) code)))