emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 04/05: Implement a new url parameter `url-request-n


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] master 04/05: Implement a new url parameter `url-request-noninteractive'
Date: Sun, 23 Nov 2014 14:14:37 +0000

branch: master
commit a345ff6bf2af54db2ee03296965165127f7758ec
Author: Lars Magne Ingebrigtsen <address@hidden>
Date:   Sun Nov 23 15:05:18 2014 +0100

    Implement a new url parameter `url-request-noninteractive'
    
    * url-http.el (url-http): Respect `url-request-noninteractive'.
    
    * url-queue.el (url-queue-start-retrieve): Fetching through
    url-queue should always be noninteractive.
    
    * url-vars.el (url-request-noninteractive): New variable.
---
 etc/ChangeLog         |    4 ++++
 etc/NEWS              |   10 ++++++++--
 lisp/url/ChangeLog    |    9 +++++++++
 lisp/url/url-http.el  |    6 ++++++
 lisp/url/url-queue.el |    9 +++++----
 lisp/url/url-vars.el  |    3 +++
 6 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/etc/ChangeLog b/etc/ChangeLog
index d57190f..867e4f5 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,7 @@
+2014-11-23  Lars Magne Ingebrigtsen  <address@hidden>
+
+       * NEWS: Mention `url-request-noninteractive'.
+
 2014-11-19  Leo Liu  <address@hidden>
 
        * NEWS: Mention new macro define-advice.
diff --git a/etc/NEWS b/etc/NEWS
index 769d2c6..a88902a 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -262,14 +262,20 @@ plain text parts, if display of HTML email is possible; 
customize the
 ** In sh-mode, you can now use `sh-shell' as a file-local variable to
 specify the type of shell in use (bash, csh, etc).
 
-** The URL package accepts now the protocols "ssh", "scp" and "rsync".
+** URL
+
+*** The URL package accepts now the protocols "ssh", "scp" and "rsync".
 When `url-handler-mode' is enabled, file operations for these
 protocols as well as for "telnet" and "ftp" are passed to Tramp.
 
-** The URL package allows customizing the `url-user-agent' string.
+*** The URL package allows customizing the `url-user-agent' string.
 The new `url-user-agent' variable can be customized to be a string or
 a function.
 
+*** The new interface variable `url-request-noninteractive' can be used
+to specify that we're running in a noninteractive context, and that
+we should not be queried about things like TLS certificate validity.
+
 ** Tramp
 
 *** New connection method "nc", which allows to access dumb busyboxes.
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog
index 1be4ca7..7ba9de0 100644
--- a/lisp/url/ChangeLog
+++ b/lisp/url/ChangeLog
@@ -1,3 +1,12 @@
+2014-11-23  Lars Magne Ingebrigtsen  <address@hidden>
+
+       * url-http.el (url-http): Respect `url-request-noninteractive'.
+
+       * url-queue.el (url-queue-start-retrieve): Fetching through
+       url-queue should always be noninteractive.
+
+       * url-vars.el (url-request-noninteractive): New variable.
+
 2014-11-14  David Reitter  <address@hidden>
 
        * url-domsuf.el (url-domsuf-parse-file): Read compressed
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el
index a51785a..1001c4d 100644
--- a/lisp/url/url-http.el
+++ b/lisp/url/url-http.el
@@ -40,6 +40,7 @@
 (defvar url-http-data)
 (defvar url-http-end-of-headers)
 (defvar url-http-extra-headers)
+(defvar url-http-noninteractive)
 (defvar url-http-method)
 (defvar url-http-no-retry)
 (defvar url-http-process)
@@ -1201,6 +1202,9 @@ overriding the value of `url-gateway-method'."
   (cl-check-type url vector "Need a pre-parsed URL.")
   (let* ((host (url-host (or url-using-proxy url)))
         (port (url-port (or url-using-proxy url)))
+        (nsm-noninteractive (or url-request-noninteractive
+                                (and (boundp 'url-http-noninteractive)
+                                     url-http-noninteractive)))
         (connection (url-http-find-free-connection host port gateway-method))
         (buffer (or retry-buffer
                     (generate-new-buffer
@@ -1232,6 +1236,7 @@ overriding the value of `url-gateway-method'."
                       url-http-process
                       url-http-method
                       url-http-extra-headers
+                      url-http-noninteractive
                       url-http-data
                       url-http-target-url
                       url-http-no-retry
@@ -1241,6 +1246,7 @@ overriding the value of `url-gateway-method'."
 
        (setq url-http-method (or url-request-method "GET")
              url-http-extra-headers url-request-extra-headers
+             url-http-noninteractive url-request-noninteractive
              url-http-data url-request-data
              url-http-process connection
              url-http-chunked-length nil
diff --git a/lisp/url/url-queue.el b/lisp/url/url-queue.el
index 87469b9..9c4b402 100644
--- a/lisp/url/url-queue.el
+++ b/lisp/url/url-queue.el
@@ -133,10 +133,11 @@ The variable `url-queue-timeout' sets a timeout."
 (defun url-queue-start-retrieve (job)
   (setf (url-queue-buffer job)
        (ignore-errors
-         (url-retrieve (url-queue-url job)
-                       #'url-queue-callback-function (list job)
-                       (url-queue-silentp job)
-                       (url-queue-inhibit-cookiesp job)))))
+         (let ((url-request-noninteractive t))
+           (url-retrieve (url-queue-url job)
+                         #'url-queue-callback-function (list job)
+                         (url-queue-silentp job)
+                         (url-queue-inhibit-cookiesp job))))))
 
 (defun url-queue-prune-old-entries ()
   (let (dead-jobs)
diff --git a/lisp/url/url-vars.el b/lisp/url/url-vars.el
index 62b7b85..bc23b98 100644
--- a/lisp/url/url-vars.el
+++ b/lisp/url/url-vars.el
@@ -209,6 +209,9 @@ document."
   "A list of extra headers to send with the next request.
 Should be an assoc list of headers/contents.")
 
+(defvar url-request-noninteractive nil
+  "If non-nil, the request is done in a noninteractive context.")
+
 (defvar url-request-method nil "The method to use for the next request.")
 
 (defvar url-mime-encoding-string (and (fboundp 'zlib-available-p)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]