From 2487b589292976f830325eea39765beb44e4036a Mon Sep 17 00:00:00 2001 From: marty hiatt Date: Tue, 1 Oct 2024 22:21:32 +0200 Subject: http--post: if :json, supply required headers --- lisp/mastodon-http.el | 10 ++++++---- lisp/mastodon-profile.el | 2 ++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lisp/mastodon-http.el b/lisp/mastodon-http.el index 546d5bd..c1b0599 100644 --- a/lisp/mastodon-http.el +++ b/lisp/mastodon-http.el @@ -157,16 +157,18 @@ the request data. If it is :raw, just use the plain params." (let* ((url-request-data (when params (cond ((eq json :json) - (json-encode - params)) + (json-encode params)) ((eq json :raw) params) (t (mastodon-http--build-params-string params))))) (url-request-extra-headers (append url-request-extra-headers ; auth set in macro - (unless (assoc "Content-Type" headers) ; pleroma compat: - '(("Content-Type" . "application/x-www-form-urlencoded"))) + (if json + '(("Content-Type" . "application/json") + ("Accept" . "application/json")) + (unless (assoc "Content-Type" headers) ; pleroma compat: + '(("Content-Type" . "application/x-www-form-urlencoded")))) headers))) (with-temp-buffer (mastodon-http--url-retrieve-synchronously url))) diff --git a/lisp/mastodon-profile.el b/lisp/mastodon-profile.el index 6410591..ce7fddd 100644 --- a/lisp/mastodon-profile.el +++ b/lisp/mastodon-profile.el @@ -386,6 +386,8 @@ This is done after changing the setting on the server." Only do so if `mastodon-profile-account-settings' is nil." (mastodon-profile--fetch-server-account-settings :no-force)) +;; FIXME: this does one request per setting! should just do one request then +;; parse (defun mastodon-profile--fetch-server-account-settings (&optional no-force) "Fetch basic account settings from the server. Store the values in `mastodon-profile-account-settings'. -- cgit v1.2.3