view lisp/url/url-https.el @ 83094:8e5779acd195

Merged in changes from CVS HEAD Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-193 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-194 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-195 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-196 Remove RCS keywords * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-197 Stupid CVS keyword changes * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-198 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-199 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-134
author Karoly Lorentey <lorentey@elte.hu>
date Sat, 10 Apr 2004 23:06:09 +0000
parents 1029206e72f2 e8824c4f5f7e
children eb7e8d483840
line wrap: on
line source

;;; url-https.el --- HTTP over SSL routines
;; Keywords: comm, data, processes

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Copyright (c) 1999 Free Software Foundation, Inc.
;;;
;;; This file is part of GNU Emacs.
;;;
;;; GNU Emacs is free software; you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 2, or (at your option)
;;; any later version.
;;;
;;; GNU Emacs is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Emacs; see the file COPYING.  If not, write to the
;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;;; Boston, MA 02111-1307, USA.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(require 'url-gw)
(require 'url-util)
(require 'url-parse)
(require 'url-cookie)
(require 'url-http)

(defconst url-https-default-port 443 "Default HTTPS port.")
(defconst url-https-asynchronous-p t "HTTPS retrievals are asynchronous.")
(defalias 'url-https-expand-file-name 'url-http-expand-file-name)

(defmacro url-https-create-secure-wrapper (method args)
  (` (defun (, (intern (format (if method "url-https-%s" "url-https") method))) (, args)
       (, (format "HTTPS wrapper around `%s' call." (or method "url-http")))
       (condition-case ()
	   (require 'ssl)
	 (error
	  (error "HTTPS support could not find `ssl' library.")))
       (let ((url-gateway-method 'ssl))
	 ((, (intern (format (if method "url-http-%s" "url-http") method))) (,@ (remove '&rest (remove '&optional args))))))))

(url-https-create-secure-wrapper nil (url callback cbargs))
(url-https-create-secure-wrapper file-exists-p (url))
(url-https-create-secure-wrapper file-readable-p (url))
(url-https-create-secure-wrapper file-attributes (url))

(provide 'url-https)

;;; arch-tag: c3645ac5-c248-4d12-ad41-7c4b6f7b6d19