Skip to content

Commit 9cd5d89

Browse files
committed
AFRICASTALKING: Added sender option
1 parent 9f61acc commit 9cd5d89

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

modules/africastalking/africastalking.scm

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
9292
(list str (list)))))
9393

9494
;; For creating POST request to Africa's Talking
95-
(define (atalk:make-request-str host url username apikey number message)
96-
(let ((request (string-append "username=" username "&to=" (atalk:percent-encode number) "&message=" (atalk:percent-encode message))))
95+
(define (atalk:make-request-str host url username apikey number message from)
96+
(let* ((requestTo (string-append "username=" username "&to=" (atalk:percent-encode number)))
97+
(requestFrom (if from (string-append "&from=" from) ""))
98+
(request (string-append requestTo requestFrom "&message=" (atalk:percent-encode message))))
9799
(string-append "POST " url " HTTP/1.1" "\r\n"
98100
"Host: " host "\r\n"
99101
"Content-Length: " (number->string (string-length request)) "\r\n"
@@ -103,10 +105,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
103105
"\r\n" request "\n")))
104106

105107
;; Send the message and return the response
106-
(define (atalk:sendSMS host url username apikey number message)
108+
(define (atalk:sendSMS host url username apikey number message . sender)
107109
(let* ((buf (##still-copy (make-u8vector 1024)))
108110
(conn (httpsclient-open host))
109-
(request-str (atalk:make-request-str host url username apikey number message)))
111+
(from (if (and (list? sender) (fx> (length sender) 0) (string? (car sender))) (car sender) #f))
112+
(request-str (atalk:make-request-str host url username apikey number message from)))
110113
(httpsclient-send (string->u8vector request-str))
111114
(httpsclient-recv buf)
112115
(httpsclient-close)

0 commit comments

Comments
 (0)