all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Xiyue Deng <manphiz@gmail.com>
To: Robert Pluim <rpluim@gmail.com>
Cc: 72358@debbugs.gnu.org
Subject: bug#72358: 29.4; oauth2.el improvements
Date: Wed, 31 Jul 2024 04:13:23 -0700	[thread overview]
Message-ID: <87frrp6ch8.fsf@debian-hx90.lan> (raw)
In-Reply-To: <87jzh2vt3y.fsf@gmail.com> (Robert Pluim's message of "Wed, 31 Jul 2024 10:54:57 +0200")

[-- Attachment #1: Type: text/plain, Size: 957 bytes --]

Robert Pluim <rpluim@gmail.com> writes:

>>>>>> On Tue, 30 Jul 2024 12:37:05 -0700, Xiyue Deng <manphiz@gmail.com> said:
>     Xiyue> The fifth patch adds debug messages when doing a URL query which records
>     Xiyue> the request URL, the request data, and the response data, and provide a
>     Xiyue> custom variable to enable this.  This provides a way to help debugging
>     Xiyue> the requests, and I find it handy when testing oauth2 against different
>     Xiyue> providers.
>     >> 
>     >> OK (although perhaps make it a defvar rather than a defcustom, to
>     >> avoid people accidentally enabling it).
>     >> 
>
>     Xiyue> Done also in patch 5.
>
> I see you changed `oauth2-token-file' to a `defvar', which I donʼt
> think you should do. I was talking about making `oauth2-debug' a
> defvar.
>
> Robert

Oops.  Another reminder not to write code after 2am.

The fixed patch 5 is attached.

-- 
Xiyue Deng


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0005-Add-debug-messages-and-provide-a-switch-variable-for.patch --]
[-- Type: text/x-diff, Size: 2186 bytes --]

From 55417ec61c91f6b4d8e16a0c9933fb178d7bb657 Mon Sep 17 00:00:00 2001
From: Xiyue Deng <manphiz@gmail.com>
Date: Sun, 28 Jul 2024 03:41:20 -0700
Subject: [PATCH 5/6] Add debug messages and provide a switch variable for
 enabling

This helps debugging whether the authorization and refresh requests
were successful and inspecting the responses.

* packages/oauth2/oauth2.el: add support for debug messages and a
switch variable for enabling.
---
 oauth2.el | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/oauth2.el b/oauth2.el
index 035971ac85..ce7a835100 100644
--- a/oauth2.el
+++ b/oauth2.el
@@ -40,6 +40,7 @@
 (require 'plstore)
 (require 'json)
 (require 'url-http)
+(require 'pp)
 
 (defvar url-http-data)
 (defvar url-http-method)
@@ -53,6 +54,14 @@
   :link '(url-link :tag "Savannah" "https://git.savannah.gnu.org/cgit/emacs/elpa.git/tree/?h=externals/oauth2")
   :link '(url-link :tag "ELPA" "https://elpa.gnu.org/packages/oauth2.html"))
 
+(defvar oauth2-debug nil
+  "Enable debug messages.")
+
+(defun oauth2--do-debug (&rest msg)
+  "Output debug messages when `oauth2-debug' is enabled."
+  (if oauth2-debug
+    (apply #'message msg)))
+
 (defun oauth2-request-authorization (auth-url client-id &optional scope state redirect-uri)
   "Request OAuth authorization at AUTH-URL by launching `browse-url'.
 CLIENT-ID is the client id provided by the provider.
@@ -79,6 +88,8 @@ It returns the code provided by the service."
 
 (defun oauth2-make-access-request (url data)
   "Make an access request to URL using DATA in POST."
+  (oauth2--do-debug "oauth2-make-access-request: url: %s" url)
+  (oauth2--do-debug "oauth2-make-access-request: data: %s" data)
   (let ((url-request-method "POST")
         (url-request-data data)
         (url-request-extra-headers
@@ -86,6 +97,8 @@ It returns the code provided by the service."
     (with-current-buffer (url-retrieve-synchronously url)
       (let ((data (oauth2-request-access-parse)))
         (kill-buffer (current-buffer))
+        (oauth2--do-debug "oauth2-make-access-request: response: %s"
+                          (pp-to-string data))
         data))))
 
 (cl-defstruct oauth2-token
-- 
2.39.2


  reply	other threads:[~2024-07-31 11:13 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-29 21:25 bug#72358: 29.4; oauth2.el improvements Xiyue Deng
2024-07-30  7:46 ` Robert Pluim
2024-07-30 14:05   ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-30 19:37   ` Xiyue Deng
2024-07-31  8:54     ` Robert Pluim
2024-07-31 11:13       ` Xiyue Deng [this message]
2024-08-02  8:15         ` Xiyue Deng
2024-08-02  8:38           ` Robert Pluim
2024-08-03  0:04             ` Xiyue Deng
2024-08-03  5:52           ` Eli Zaretskii
2024-08-03  9:26             ` Xiyue Deng
2024-08-13 22:03             ` Xiyue Deng
2024-08-14  5:28               ` Eli Zaretskii
2024-08-14  8:23                 ` Xiyue Deng
2024-08-14  8:40                   ` Xiyue Deng
2024-08-14  9:13                   ` Eli Zaretskii
2024-08-21 18:22                     ` Xiyue Deng
2024-08-21 19:42                       ` Philip Kaludercic
2024-08-21 22:11                         ` Xiyue Deng
2024-08-29  6:58                           ` Xiyue Deng
2024-08-29 14:14                           ` Philip Kaludercic
2024-08-29 15:18                             ` Robert Pluim
2024-08-29 23:54                             ` Xiyue Deng
2024-08-30  7:09                               ` Philip Kaludercic
2024-08-30  8:32                                 ` Xiyue Deng
2024-08-30 10:07                                   ` Philip Kaludercic
2024-08-30 21:13                                     ` Xiyue Deng
2024-09-03 18:08                                       ` Xiyue Deng
     [not found]   ` <66a8f323.170a0220.9172c.8e28SMTPIN_ADDED_BROKEN@mx.google.com>
2024-07-30 19:40     ` Xiyue Deng
2024-07-30 21:50       ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-08-07 23:22       ` Xiyue Deng
2024-08-08  6:11         ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-08-08  6:14         ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found]         ` <66b46180.170a0220.1fb02.1d6eSMTPIN_ADDED_BROKEN@mx.google.com>
2024-08-08  8:28           ` Xiyue Deng
2024-08-08  9:17             ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-08-12 13:22             ` Thomas Fitzsimmons
2024-08-12 16:26               ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found]         ` <66b46251.170a0220.f2be9.afeeSMTPIN_ADDED_BROKEN@mx.google.com>
2024-08-08  8:29           ` Xiyue Deng
2024-08-08  9:31             ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-30 14:08 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-07-30 14:39   ` Robert Pluim
2024-07-30 19:44     ` Xiyue Deng
2024-08-01 18:49       ` Thomas Fitzsimmons
2024-08-02  8:09         ` Xiyue Deng
2024-08-02 14:43           ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found] ` <66a8f3d6.050a0220.8facb.d530SMTPIN_ADDED_BROKEN@mx.google.com>
2024-07-30 19:41   ` Xiyue Deng
2024-07-30 21:51     ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found]     ` <66a96079.170a0220.1522dd.3e68SMTPIN_ADDED_BROKEN@mx.google.com>
2024-07-31  7:43       ` Xiyue Deng
2024-07-31 23:53 ` Andrew Cohen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87frrp6ch8.fsf@debian-hx90.lan \
    --to=manphiz@gmail.com \
    --cc=72358@debbugs.gnu.org \
    --cc=rpluim@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.