diff options
-rw-r--r-- | nnttrss.el | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -39,6 +39,29 @@ JSON object. Returns the JSON response as a plist or nil." (if (= status 0) content (nnheader-report 'nnttrss (plist-get content :error))))))) +(defun nnttrss-login (address user password) + "Login to the server at ADDRESS using USER and PASSWORD +credentials. Returns a session id string or nil." + (let ((response (nnttrss-post-request `(:op "login" + :user ,user + :password ,password) + address))) + (plist-get response :session_id))) + +(defun nnttrss-logout (address session-id) + "Logout of the server at ADDRESS using SESSION-ID credentials." + (nnttrss-post-request `(:op "logout" + :sid ,session-id) + address)) + +(defun nnttrss-logged-in-p (address session-id) + "Return t if there is a valid session at ADDRESS with + SESSION-ID, false otherwise." + (let ((response (nnttrss-post-request `(:op "isLoggedIn" + :sid ,session-id) + address))) + (plist-get response :status))) + (gnus-declare-backend "nnttrss" 'address 'prompt-address) |