aboutsummaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authormarty hiatt <martianhiatus [a t] riseup [d o t] net>2022-08-31 12:44:52 +0200
committermarty hiatt <martianhiatus [a t] riseup [d o t] net>2022-08-31 12:44:52 +0200
commit59a1fbda1f6c3d8cc20714eb000e05bee7c5310e (patch)
tree4cd72455110f76c33872c030e041225b61a58fb8 /lisp
parentde033f831b10fa84b0ba36f067788d2c7587dc7a (diff)
http--patch: make general function, not just for note
- this way we can build funs to change basic account options.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/mastodon-http.el19
-rw-r--r--lisp/mastodon-profile.el2
2 files changed, 9 insertions, 12 deletions
diff --git a/lisp/mastodon-http.el b/lisp/mastodon-http.el
index 49b2375..9904232 100644
--- a/lisp/mastodon-http.el
+++ b/lisp/mastodon-http.el
@@ -168,7 +168,7 @@ Pass response buffer to CALLBACK function."
(defun mastodon-http--append-query-string (url params)
"Append PARAMS to URL as query strings and return it.
-PARAMS should be an alist as required `url-build-query-string'."
+PARAMS should be an alist as required by `url-build-query-string'."
(let ((query-string (url-build-query-string params)))
(concat url "?" query-string)))
@@ -204,21 +204,18 @@ PARAM is a formatted request parameter, eg 'following=true'."
;; profile update functions
-(defun mastodon-http--patch-json (url)
- "Make synchronous PATCH request to URL. Return JSON response."
- (with-current-buffer (mastodon-http--patch url)
+(defun mastodon-http--patch-json (url &optional params)
+ "Make synchronous PATCH request to URL. Return JSON response.
+Optionally specify the PARAMS to send."
+ (with-current-buffer (mastodon-http--patch url params)
(mastodon-http--process-json)))
-;; hard coded just for bio note for now:
-(defun mastodon-http--patch (base-url &optional note)
+(defun mastodon-http--patch (base-url &optional params)
"Make synchronous PATCH request to BASE-URL.
-Optionally specify the NOTE to edit.
-Pass response buffer to CALLBACK function."
+Optionally specify the PARAMS to send."
(mastodon-http--authorized-request
"PATCH"
- (let ((url (if note
- (concat base-url "?note=" (url-hexify-string note))
- base-url)))
+ (let ((url (mastodon-http--append-query-string base-url params)))
(mastodon-http--url-retrieve-synchronously url))))
;; Asynchronous functions
diff --git a/lisp/mastodon-profile.el b/lisp/mastodon-profile.el
index 0496d53..a27afd2 100644
--- a/lisp/mastodon-profile.el
+++ b/lisp/mastodon-profile.el
@@ -237,7 +237,7 @@ JSON is the data returned by the server."
(let* ((note (buffer-substring-no-properties (point-min) (point-max)))
(url (mastodon-http--api "accounts/update_credentials")))
(kill-buffer-and-window)
- (let ((response (mastodon-http--patch url note)))
+ (let ((response (mastodon-http--patch url `((note ,note)))))
(mastodon-http--triage response
(lambda () (message "Profile note updated!"))))))