;ELC   
;;; Compiled by aatharuv@cutter-john.mit.edu on Sun Jan  5 18:16:32 2003
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/w3-4.0pre.47/lisp/url-http.el
;;; in Emacs version 21.1.1
;;; with bytecomp version 2.85
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`url-http.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\207" [require url-vars url-parse url-cookie timezone] 2)
#@64 Create a string usable for an Accept: header from mm-mime-data
(defalias 'url-parse-viewer-types #[nil "\306	\"\307\211\211\211\310\203q @A@@A\f\203 \f@\311@\312\230\2039 \313\202; @Q\314\315!\n\"\204j \nG\316\246\317\311@RG\\\316V\203c \320\321\n#\202j \320\322\n#\fA\211\202& \n\323\307O.\207" [mm-mime-data mm-mime-data-default str cur-mnr mnr mjr append nil "" "/" ".*" "*" string-match regexp-quote 60 ", " format "%s\nAccept: %s" "%s, %s" 2 label tmp] 7 (#$ . 764)])
#@61 Create a multi-part MIME request for all files in FILE-LIST
(defalias 'url-create-multipart-request #[(file-list) "\304 \305\306\307\310\311\n\312#P\211\310\313\314#\315\nQ+B\207" [ref-url content separator file-list current-time-string "message/http-request" nil "separator-" mapconcat #[(char) "	>\203\n \302!\207\303\207" [char url-mime-separator-chars char-to-string ""] 2] "" #[(file) "\304\305	\306\307\n\"\260\207" [separator content file ref-url "--" "\nContent-type: " "\n\n" url-create-mime-request] 8] "\n" "--"] 6 (#$ . 1284)])
#@66 Generate a string suitable for the Message-ID field of a request
(defalias 'url-create-message-id #[nil "\300\301 \302\303 \304\260\207" ["<" url-create-unique-id "@" system-name ">"] 5 (#$ . 1840)])
(defalias 'url-create-unique-id #[nil "\304 \305 \205 \306!\205 \307\n\310H!\n\203: \203: 	\226\311\n\312H\n\313H\n\314H\312H\313H\314H\260\202> \315\316\",\207" [date name dateinfo timeinfo current-time-string user-login-name timezone-parse-date timezone-parse-time 3 "." 0 1 2 error "Cannot understand current-time-string: %s."] 9])
(defalias 'url-http-user-agent-string #[nil "\306=\204 <\203 \307>\203 \310\207\311\312	\n\f\203* \203* \313\f\314\315\260\202> \f\2042 \203= \313\2068 \f\315Q\202> \310%\207" [url-privacy-level url-package-name url-package-version url-version url-os-type url-system-type paranoid agent "" format "User-Agent: %s/%s URL/%s%s\n" " (" "; " ")"] 10])
#@58 Create a MIME request for fname, referred to by REF-URL.
(defalias 'url-create-mime-request #[(fname ref-url) "\306\306\307\310!\311\312\"\243\311\313\"\243\206 \314\315!?\206 ??\205. 23\316\306\317\306$)4\314\315!\205? \205? \320!\2115\203L 5\321H\202N 675\203\\ 5\322H\206` 8\322H9\311\323\"\243?\205| \316\314\315!\203w \206x \n\306\317\306$:\f\205\206 \324\325\f\":\203\223 \326:\327Q:4\203\237 \3304\327Q4;\203\273 ;;\203\273 ;\331\230\204\270 ;\332\230\203\273 \306;<\333>\204\317 <<\203\322 \334<>\203\322 \306;\335\336\327#\211\332\232\204\342 \327P\337\340=\206\352 \3416>\206\362 \3429\206\370 \3435\206\377 8\344H\2065\2068\345H\205\3115\2068\346H?\"\243@\203+\347@\327Q\202,\332AB\203;\350B\327Q\202<\332C\351 4\206F\332:\206L\332\352978\346H\353\232#\f\204{=\354\235\203{\355\n!\211D\203v\356\357D!\327Q\202w\332)\202|\332;\203\211\360;\327Q\202\212\332E\203\233\337\361EGE#\202\234\332&\211.	\207" [extra-headers request url url-request-extra-headers no-cache url-using-proxy nil url-view-url t assoc "Pragma" "Proxy-Authorization" boundp proxy-info url-get-authentication any url-generic-parse-url 5 3 "Authorization" string-match "no-cache" "Authorization: " "\n" "Proxy-Authorization: " "file:nil" "" (low high paranoid) lastloc mapconcat #[(x) "@\301AQ\207" [x ": "] 3] format "%s %s HTTP/1.0\nMIME-Version: 1.0\nExtension: %s\nHost: %s:%s\n%sAccept-encoding: %s\n%sAccept: %s\n%s%s%s%s%s%s%s%s\n" "GET" "none" "UNKNOWN.HOST.NAME" 4 8 0 "From: " "Accept-language: " url-http-user-agent-string url-cookie-generate-header-lines "https" ("GET" nil) url-is-cached "If-modified-since: " url-get-normalized-date "Referer: " "Content-length: %d\n\n%s" url-proxy-basic-authentication url-basic-auth-storage proxy-auth proxy-obj fname real-fname url-current-object host auth ref-url url-privacy-level url-request-method url-extensions-header url-default-ports url-personal-mail-address url-mime-encoding-string url-mime-language-string url-mime-accept-string tm url-request-data] 23 (#$ . 2758)])
(defalias 'url-setup-reload-timer #[(url must-be-viewing &optional time) "\203\n \304X\203\f \305\306\307\310\311\312	E\313\314\310\311\n\315BB\316BB\317\nDFEE\320\321!\2033 \322\323#\202E \324\325!\203A \325\307#\202E \326\302\327\")\207" [time must-be-viewing url func 0 5 lambda nil if equal (url-view-url t) let ((w3-reuse-buffers 'no)) ((url-view-url t)) ((kill-buffer (current-buffer))) w3-fetch featurep itimer start-itimer "reloader" fboundp run-at-time url-warn "Cannot set up timer for automatic reload, sorry!"] 10])
(defalias 'url-handle-refresh-header #[(reload) "\205L 	\205L 	\304=\204 \n\305!\205L \306\304!\307\310\"\203> \311\225\312O\311\211\224O\307\313\"\2037 \314\315\"\316\306\304!\"\317\306\304!\320\206I \321!#)\207" [reload url-honor-refresh-requests url-confirmation-func uri t "Honor refresh request? " url-view-url string-match ";" 0 nil "ur[li][ 	]*=[ 	]*\"*\\([^ 	\"]+\\)\"*" url-match 1 url-expand-file-name url-setup-reload-timer string-to-int "5"] 5])
(defalias 'url-parse-mime-headers #[(&optional no-delete switch-buff) "\203 	q\210eeb\210\306\307w\210\310\311\307\312#\203 `T\202 d\307\307\307@\307A\307B\307C\nd^}\210eb\210\306\307w\210\313\307w\210\314p!\315BCBC\307\210m\204\217 \316\307w\210`\317\307w\210\320\f`\"\210\f`{A\321\307w\210`\322\307w\210\f`{BABBCBCA\323\230\203O \324B!\210\202O D\204\232 \n`^|\210\325\326C\"AE\307F\325\327C\"AG\330E\307\312#HCI\331\332\325\333C\"\243\206\305 \334\"?JE\203\350 \331KE\"\203\350 E\335\224\335\225OFE\336\211\224OE\337\325\340C\"\243!\210L\203 L\341\230\204 \307J\325\342C\"\243\211M\203wJ\203w\343\344!\203w\331\345M\"\203A\346M\335\"\347\346M\350\"\347\346M\351\"\347\346M\352\"\353\346M\354\"\355\260\nM\356\357\360\361 !\"\356\362\360M!\"NO\363OA@\350O8O@#\363NA@\350N8N@#Z*\211M\336U?J)\364\245\211@\350U\203\242\365U\204\217\366U\203\225\307J\202\224\367U\203\224\370	!\210\202\224@\351U\203\235\371U\204\273\372U\204\273\373U\203~\374\312!\325\375C\"A\206\315\325\376C\"A\325\377C\"A\206\336L\206\336\201b \226PQRQ\203\373\331\201c Q\"\203\373\346Q\335\"QQ\203\331\201d Q\"\203\346Q\335\"Q\373U\203\341PP\341\230\204WS\201e !\204W\201f \201W \201g \201h RQ#\201i #\210S\201j !\203O\341P\202W\201i \201k !\210RQ\232\204nPL\201l Q!\210)\202zdb\210\201m \201n \261\210+\202\224\201o U\203\224\201p \201q !\210\201r \201s \374\312!!!\210\202\224@\352U\203l\201t U\203{TUW\203{TTT\325\201u C\"A\206\307\201v V\374\312!W\331\201w V\"\203\341V\336\211\224O\202\343V\227X\201x X!\203\\V\211GS\307YYZ[\\[\336U\204$\\[H\201y U\203\\[\201z I\210[S\211[\202\201{ V!\\\201| W\325\201} \\\"\243X\312\\%\211Z\203P\201~ ZBYBY\201 W\312\"\210,\202w~\210db\210\307J\201\200 V\201\201 \201\202 ]\201\203 \261\210+\202\224\201\204 U\203f\325\201\205 C\"A\206\221\201v V\374\312!W\201\206 W!^_`\201\207 ^\211\351H\"a\331\201w V\"\203\302V\336\211\224O\202\304V\227X\201x X!\203FV\211GS\307YYZ[\\[\336U\204\\[H\201y U\203\374\\[\201z I\210[S\211[\202\342\201{ V!\\\201| a\206W\325\201} \\\"\243X\312\\%\211Z\2036\201\210 ZBYBY`_\201 W\312\"\210,\202a~\210db\210\307J\201\200 V\201\201 \201\202 ]\201\203 \261\210.\202\224\307J\202\224@\354U\203y\307J\202\224@\335U\203\221\364U\204\224\201\211 U\204\224\202\224\307J~\210.\207" [switch-buff url-working-buffer st nd save-pos status " 	\n" nil re-search-forward "^*$" t "^ 	" read "status" " 	\n" "^:\n" downcase-region ": 	 " "^\n" "set-cookie" url-cookie-handle-set-cookie assoc "content-type" "content-encoding" mm-mime-info string-match "no-cache" "pragma" "" 1 0 url-handle-refresh-header "refresh" "GET" "expires" featurep timezone "^[^,]+, +\\(..\\)-\\(...\\)-\\(..\\) +\\(..:..:..\\) +\\[*\\([^]]+\\)\\]*$" url-match " " 2 3 4 " [" 5 "]" mapcar #[(s) "\205 \301!\207" [s string-to-int] 2] timezone-parse-date current-time-string #[(s) "\205 \301!\207" [s string-to-int] 2] timezone-absolute-from-gregorian 100 206 205 204 kill-buffer 301 302 303 url-view-url "uri" "location" "method" class hname hvalu result no-delete url-current-mime-type url-current-mime-charset url-current-mime-encoding url-current-mime-viewer url-current-mime-headers url-current-can-be-cached url-mime-content-type-charset-regexp url-request-method expires d2 d1 redirmeth redir x url-confirmation-func url-current-passwd-count url-max-password-attempts y url type url-request-extra-headers auth ctr args url-bug-address urlobj url-proxy-basic-authentication url-basic-auth-storage url-using-proxy "get" "\\([^ 	]+\\)[ 	]" "^<\\(.*\\)>$" "Honor redirection with non-GET method (possible security risks)? " url-warn format "The URL %s tried to issue a redirect to %s using a method other than\nGET, which can open up various security holes.  Please see the\nHTTP/1.0 specification for more details." error "Continue (with method of GET)? " "Transaction aborted." url-maybe-relative "<hr>Error!  This URL tried to redirect me to itself!<P>" "Please notify the server maintainer." 304 message "Extracting from cache..." url-cache-extract url-cache-create-filename 401 "www-authenticate" "basic" "[ 	]" url-auth-registered 44 59 mm-parse-args url-get-authentication "realm" "Authorization" url-retrieve "<hr>Sorry, but I do not know how to handle " " authentication.  If you'd like to write it," " send it to " ".<hr>" 407 "proxy-authenticate" url-generic-parse-url url-find-proxy-for-url "Proxy-Authorization" 101] 12])
(defalias 'url-mime-response-p #[(&optional switch-buff) "\203 	q\210eb\210\302\303w\210\304\305!\207" [switch-buff url-working-buffer " 	\n" nil looking-at "^HTTP/.+"] 2])
(defalias 'url-recreate-with-attributes #[(obj) "\301H\203 \302H\303\304\305\301H\303#Q\207\302H\207" [obj 7 5 ";" mapconcat #[(x) "A\203\f @\301AQ\207@\207" [x "="] 3]] 6])
(put 'url-recreate-with-attributes 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'url-http #[(url &optional proxy-info) "\306!\n\206 \307\310!\311 \210	\312H	\313H\206& 	\314H\205& \315	\316H\"\243;<\206L 	\211=\317H\203G =\320H\321\322\323=\317H\321#Q\202K =\320H)>	\324H?\325@;\326\232\203` \327;>\326\232\203j \330>\f\204u \331\332\"\202(;A\235\203\210 B\333;\334Q!\203!\335>\"@\336\337\f;#\210\340\341C\f\342;!$D\343D!\204\261 \344C\325\"\202\345D\300<\206\273 #\210\346D\347\"\210\350D!\210\351D@\"\210\336\352!\210\325E\353\354!\210\355\354\356\"\210F\203\355 \346D\344\"\210\202\357\216\212Cq\210\360D!\361>\203\362D!\210\202\364 *F?\205\331\363!\210\364\365!\203\365 \210\366\354\356\")\202(\367 \210\370\371\372\".\207" [url urlobj url-current-referer ref-url server url-default-ports url-generic-parse-url url-view-url t url-clear-tmp-buffer 3 4 8 assoc 0 7 5 ";" mapconcat #[(x) "A\203\f @\301AQ\207@\207" [x "="] 3] 6 nil "" "80" "/" message "Malformed URL: `%s'" "Warning!  Trying to connect to port " " - continue? " url-create-mime-request url-lazy-message "Contacting %s:%s" url-open-stream "WWW" string-to-int processp url-sentinel url-process-put set-process-sentinel ignore process-kill-without-query process-send-string "Request sent, waiting for response..." make-local-variable after-change-functions add-hook url-after-change-function ((byte-code "\300\301\302\217\207" [nil (url-kill-process process) ((error))] 3)) url-process-status (run open) url-accept-process-output "Retrieval complete." fboundp clear-progress remove-hook ding url-warn security "Aborting connection to bad port..." port proxy-info obj file dest request url-bad-port-list url-confirmation-func url-working-buffer process url-current-content-length url-be-asynchronous] 7])
(defalias 'url-https #[(url) "\303\304\305\217\210\306\307\310\n!*\207" [url-gateway-method url-this-is-ssl url nil (byte-code "\300\301!\207" [require ssl] 2) ((error (error "Not configured for SSL, please read the info pages."))) t ssl url-http] 3])
(provide 'url-http)
