Function: url-dav-save-resource
url-dav-save-resource is a byte-compiled function defined in
url-dav.el.gz.
Signature
(url-dav-save-resource URL OBJ &optional CONTENT-TYPE LOCK-TOKEN)
Documentation
Save OBJ as URL using WebDAV.
URL must be a fully qualified URL. OBJ may be a buffer or a string.
Source Code
;; Defined in /usr/src/emacs/lisp/url/url-dav.el.gz
(defun url-dav-save-resource (url obj &optional content-type lock-token)
"Save OBJ as URL using WebDAV.
URL must be a fully qualified URL.
OBJ may be a buffer or a string."
(let ((buffer nil)
(result nil)
(url-request-extra-headers nil)
(url-request-method "PUT")
(url-request-data
(cond
((bufferp obj)
(with-current-buffer obj
(buffer-string)))
((stringp obj)
obj)
(t
(error "Invalid object to url-dav-save-resource")))))
(if lock-token
(push
(cons "If" (concat "(<" lock-token ">)"))
url-request-extra-headers))
;; Everything must always have a content-type when we submit it.
(push
(cons "Content-type" (or content-type "application/octet-stream"))
url-request-extra-headers)
;; Do the save...
(setq buffer (url-retrieve-synchronously url))
;; Sanity checking
(when buffer
(unwind-protect
(with-current-buffer buffer
(setq result (url-dav-http-success-p url-http-response-status)))
(kill-buffer buffer)))
result))