PasteRack.org | ||
Paste # 97997 | ||
2017-11-21 14:50:34 | ||
Fork as a new paste. | ||
Paste viewed 74 times. | ||
Tweet | ||
Embed: | ||
#lang racket/base (require net/base64 net/http-client json threading) (define plivo-id (make-parameter #f)) (define plivo-token (make-parameter #f)) (define (generate-msg) (format "REPORTE TX: ~a~nR: ~a (~a)~nM: ~a (~a)~nJ: ~a (~a)" "6-9AM" 50 500 20 400 24 300)) (define (sms-uri id) (format "/v1/Account/~a/Message/" id)) (define (basic-auth-string id token) (~> (format "~a:~a" id token) string->bytes/utf-8 (base64-encode "") ; no "\r\n" at the end bytes->string/utf-8)) (define (payload dst msg) (~> (hasheq 'src "some-phone-number") (hash-set 'dst dst) (hash-set 'text msg) jsexpr->string)) (define (plivo/http-post uri payload bauth) (http-sendrecv "api.plivo.com" uri #:ssl? #t #:method "POST" #:data payload #:headers (list "Content-Type: application/json" (string-append "Authorization: Basic " bauth)))) (module+ main (plivo-id (getenv "AUTH_ID")) (plivo-token (getenv "AUTH_TOKEN")) (define msg (generate-msg)) (let ((uri (sms-uri (plivo-id))) (pload (payload "destination-" msg)) (bauth (basic-auth-string (plivo-id) (plivo-token)))) (let-values (((response res-headers in-port) (plivo/http-post uri pload bauth))) (cond ((regexp-match? "ACCEPTED$" response) (displayln response)) (else (displayln res-headers) (error 'sms-send-failed))))))
=>
standard-module-name-resolver: collection not found for module path: threading collection: "threading" in collection directories: /home/pasterack/.racket/6.8/collects /home/pasterack/racket68/collects ... [161 additional linked and package directories] context...: show-collection-err standard-module-name-resolver /home/pasterack/racket68/collects/racket/require-transform.rkt:266:2: expand-import /home/pasterack/racket68/collects/racket/private/reqprov.rkt:571:24 /home/pasterack/racket68/collects/racket/private/reqprov.rkt:559:5 /home/pasterack/racket68/collects/racket/require-transform.rkt:266:2: expand-import /home/pasterack/racket68/collects/racket/private/reqprov.rkt:266:21: try-next /home/pasterack/racket68/collects/racket/private/reqprov.rkt:348:21: try-next /home/pasterack/racket68/collects/racket/private/reqprov.rkt:243:2 /home/pasterack/racket68/collects/syntax/wrap-modbeg.rkt:46:4 standard-module-name-resolver loop ...cket/cmdline.rkt:179:51 /home/pasterack/racket68/share/pkgs/scribble-lib/scribble/run.rkt: [running body]