Function: url-https-proxy-after-change-function
url-https-proxy-after-change-function is a byte-compiled function
defined in url-http.el.gz.
Signature
(url-https-proxy-after-change-function ST ND LENGTH)
Source Code
;; Defined in /usr/src/emacs/lisp/url/url-http.el.gz
(defun url-https-proxy-after-change-function (_st _nd _length)
(let* ((process-buffer (current-buffer))
(proc (get-buffer-process process-buffer)))
(goto-char (point-min))
(when (re-search-forward "^\r?\n" nil t)
(backward-char 1)
;; Saw the end of the headers
(setq url-http-end-of-headers (set-marker (make-marker) (point)))
(url-http-parse-response)
(cond
((null url-http-response-status)
;; We got back a headerless malformed response from the
;; server.
(url-http-activate-callback)
(error "Malformed response from proxy, fail!"))
((= url-http-response-status 200)
(if (gnutls-available-p)
(condition-case e
(let ((tls-connection (gnutls-negotiate
:process proc
:hostname (url-host url-current-object)
:verify-error nil)))
;; check certificate validity
(setq tls-connection
(nsm-verify-connection tls-connection
(url-host url-current-object)
(url-port url-current-object)))
(with-current-buffer process-buffer (erase-buffer))
(set-process-buffer tls-connection process-buffer)
(setq url-http-after-change-function
#'url-http-wait-for-headers-change-function)
(set-process-filter tls-connection 'url-http-generic-filter)
(process-send-string tls-connection
(url-http-create-request)))
(gnutls-error
(url-http-activate-callback)
(error "gnutls-error: %s" e))
(error
(url-http-activate-callback)
(error "Error: %s" e)))
(error "Error: gnutls support needed!")))
(t
(url-http-debug "error response: %d" url-http-response-status)
(url-http-activate-callback))))))