aboutsummaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/mastodon-http.el11
1 files changed, 9 insertions, 2 deletions
diff --git a/lisp/mastodon-http.el b/lisp/mastodon-http.el
index 7be4467..04a2235 100644
--- a/lisp/mastodon-http.el
+++ b/lisp/mastodon-http.el
@@ -35,6 +35,9 @@
(defvar mastodon-http--api-version "v1")
+(defconst mastodon-http--timeout 5
+ "HTTP request timeout, in seconds. Has no effect on Emacs < 26.1.")
+
(defun mastodon-http--api (endpoint)
"Return Mastondon API URL for ENDPOINT."
(concat mastodon-instance-url "/api/"
@@ -86,7 +89,9 @@ Authorization header is included by default unless UNAUTHENTICED-P is non-nil."
`(("Authorization" . ,(concat "Bearer " (mastodon-auth--access-token)))))
headers)))
(with-temp-buffer
- (url-retrieve-synchronously url))))
+ (if (< (cdr (func-arity 'url-retrieve-synchronously)) 4)
+ (url-retrieve-synchronously url)
+ (url-retrieve-synchronously url nil nil mastodon-http--timeout)))))
(defun mastodon-http--get (url)
"Make GET request to URL.
@@ -96,7 +101,9 @@ Pass response buffer to CALLBACK function."
(url-request-extra-headers
`(("Authorization" . ,(concat "Bearer "
(mastodon-auth--access-token))))))
- (url-retrieve-synchronously url)))
+ (if (< (cdr (func-arity 'url-retrieve-synchronously)) 4)
+ (url-retrieve-synchronously url)
+ (url-retrieve-synchronously url nil nil mastodon-http--timeout))))
(defun mastodon-http--get-json (url)
"Make GET request to URL. Return JSON response vector."