;ELC ;;; Compiled ;;; in Emacs version 27.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\300\311!\210\312\313\314\"\207" [require cl-lib puny nsm url-gw url-parse url-cookie mail-parse url-auth url autoload url-cache-create-filename "url-cache"] 3) #@20 Default HTTP port. (defconst url-http-default-port 80 (#$ . 685)) #@35 HTTP retrievals are asynchronous. (defconst url-http-asynchronous-p t (#$ . 757)) (defalias 'url-http-expand-file-name 'url-default-expander) (defvar url-http-real-basic-auth-storage nil) (defvar url-http-proxy-basic-auth-storage nil) #@47 A hash table of all open network connections. (defvar url-http-open-connections (make-hash-table :test 'equal :size 17) (#$ . 998)) #@241 What version of HTTP we advertise, as a string. Valid values are 1.1 and 1.0. This is only useful when debugging the HTTP subsystem. Setting this to 1.0 will tell servers not to send chunked encoding, and other HTTP/1.1 specific features. (defvar url-http-version "1.1" (#$ . 1137)) #@207 Whether to use a single TCP connection multiple times in HTTP. This is only useful when debugging the HTTP subsystem. Setting to nil will explicitly close the connection to the server after every request. (defvar url-http-attempt-keepalives t (#$ . 1428)) #@39 The HTTP return codes and their text. (defconst url-http-codes '((100 continue "Continue with request") (101 switching-protocols "Switching protocols") (102 processing "Processing (Added by DAV)") (200 OK "OK") (201 created "Created") (202 accepted "Accepted") (203 non-authoritative "Non-authoritative information") (204 no-content "No content") (205 reset-content "Reset content") (206 partial-content "Partial content") (207 multi-status "Multi-status (Added by DAV)") (300 multiple-choices "Multiple choices") (301 moved-permanently "Moved permanently") (302 found "Found") (303 see-other "See other") (304 not-modified "Not modified") (305 use-proxy "Use proxy") (307 temporary-redirect "Temporary redirect") (400 bad-request "Bad Request") (401 unauthorized "Unauthorized") (402 payment-required "Payment required") (403 forbidden "Forbidden") (404 not-found "Not found") (405 method-not-allowed "Method not allowed") (406 not-acceptable "Not acceptable") (407 proxy-authentication-required "Proxy authentication required") (408 request-timeout "Request time-out") (409 conflict "Conflict") (410 gone "Gone") (411 length-required "Length required") (412 precondition-failed "Precondition failed") (413 request-entity-too-large "Request entity too large") (414 request-uri-too-large "Request-URI too large") (415 unsupported-media-type "Unsupported media type") (416 requested-range-not-satisfiable "Requested range not satisfiable") (417 expectation-failed "Expectation failed") (422 unprocessable-entity "Unprocessable Entity (Added by DAV)") (423 locked "Locked") (424 failed-Dependency "Failed Dependency") (451 unavailable-for-legal-reasons "Unavailable for legal reasons") (500 internal-server-error "Internal server error") (501 not-implemented "Not implemented") (502 bad-gateway "Bad gateway") (503 service-unavailable "Service unavailable") (504 gateway-timeout "Gateway time-out") (505 http-version-not-supported "HTTP version not supported") (507 insufficient-storage "Insufficient storage")) (#$ . 1691)) #@21 Default HTTPS port. (defconst url-https-default-port 443 (#$ . 3720)) #@19 (fn &rest ARGS) (defalias 'url-http-debug #[128 "\300\301\302#\207" [apply url-debug http] 5 (#$ . 3796)]) (put 'url-http-debug 'byte-optimizer 'byte-compile-inline-expand) #@23 (fn HOST PORT PROC) (defalias 'url-http-mark-connection-as-busy #[771 "\301F\302\303\304#\266\305\306\"\210\307B\310\311B\"\"#\210\207" [url-http-open-connections "Marking connection as busy: %s:%d %S" apply url-debug http set-process-query-on-exit-flag t puthash delq gethash] 10 (#$ . 3978)]) #@23 (fn HOST PORT PROC) (defalias 'url-http-mark-connection-as-free #[771 "\301F\302\303\304#\266\305!\306>\2034 \307\310\"\210\311\312\"\210\313\310\"\210\314B\315B\"B#\210\310\207" [url-http-open-connections "Marking connection as free: %s:%d %S" apply url-debug http process-status (open run connect) set-process-buffer nil set-process-sentinel url-http-idle-sentinel set-process-query-on-exit-flag puthash gethash] 9 (#$ . 4296)]) #@43 (fn HOST PORT &optional GATEWAY-METHOD) (defalias 'url-http-find-free-connection #[770 "\303B\"\304\203G \211\204G \305@!\306>\204. \307@F\310\311\312#\266\313@\304\"\210\202> @\262\314F\310\311\312#\266\211A\262\210\202 \211\203Y \315E\310\311\312#\266\202d \316E\310\311\312#\266\317\316#\210\211\204\375 \320\321!\322\323\324\325\326!\327\"\330$\216\331 \203\234 \332 !\n>\204\226 \333\334\335 D\"\210 \336H\202\236 \203\347 \332!\n>\204\262 \333\334\335D\"\210\211\337H\206\342 \332!\n>\204\307 \333\334\335D\"\210\211\340H\205\342 \341\332!\n>\204\335 \333\334\335D\"\210\340H\342\"\262\202\351 %\343!\203\372 \344\304\"\210\211\262\210)\210\211\205\345#\207" [url-http-open-connections url-using-proxy cl-struct-url-tags gethash nil process-status (run open connect) "Cleaning up dead process: %s:%d %S" apply url-debug http url-http-idle-sentinel "Found existing connection: %s:%d %S" "Reusing existing connection: %s:%d" "Contacting host: %s:%d" url-lazy-message generate-new-buffer " *url-http-temp*" make-byte-code 0 "\301\300!\203 \302\301\300!\303\"\210\304\300!\207" vconcat vector [get-buffer-process set-process-query-on-exit-flag nil kill-buffer] 3 url-open-stream type-of signal wrong-type-argument url 4 5 1 url-scheme-get-property default-port processp set-process-buffer url-http-mark-connection-as-busy] 16 (#$ . 4753)]) #@67 Compute a default User-Agent string based on `url-privacy-level'. (defalias 'url-http--user-agent-default-string #[0 "\205 \306\307 #\n<\205 \310\n>?\205 \306\311\"\n<\205! \312\n>?\205* \306\313\f #\306\314\"\315\316F\"\317\320\321#\266\202\207" [url-package-name url-package-version url-privacy-level emacs-version url-system-type url-os-type format "%s/%s" emacs "Emacs/%s" os "(%s; %s)" "URL/%s" delq nil " " mapconcat identity url-version] 10 (#$ . 6165)]) #@12 (fn URL) (defalias 'url-http--get-referer #[257 "\304pF\305\306\307#\266\205\265 \310! >\204 \311!\312!\310! >\204. \313\314\315D\"\210\211\211\316\317\310! >\204B \313\314\315D\"\210\316H!I\266\320!\n\321>?\205\261 \n<\205[ \322\n>?\205\261 \323\267\202\260 \310! >\204t \313\314\315D\"\210\316H\310! >\204\207 \313\314\315D\"\210\316H\230\205\221 \266\202\202\261 \324!\324!\205\253 \211\205\253 \230\205\253 \266\202\202\261 \211\262\262\207" [url-current-lastloc cl-struct-url-tags url-privacy-level url-lastloc-privacy-level "getting referer from buffer: buffer:%S target-url:%S lastloc:%S" apply url-debug http type-of url-generic-parse-url copy-sequence signal wrong-type-argument url 4 puny-encode-domain url-recreate-url (low high paranoid) lastloc #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (host-match 101 domain-match 150)) url-domain] 10 (#$ . 6649)]) #@95 Compute a User-Agent string. The string is based on `url-privacy-level' and `url-user-agent'. (defalias 'url-http-user-agent-string #[0 "\303=\206 <\205 \304>\211?\205/ \305 !\203 \202/ ;\203' \202/ \306=\205/ \307 \211\203} \310\311\312\211\313\206@ \314\315Q\312\316\317#)\266\203\211\203Z \320\321#\202[ \266\203\317\322\206e \314\323Q\"\203v \320\321\225\"\266\205\202y \266\205\"\202~ \324\207" [url-privacy-level url-user-agent inhibit-changing-match-data paranoid agent functionp default url-http--user-agent-default-string format "User-Agent: %s \n" nil "\\(?:" "[ \n ]+" "\\)\\'" t string-match substring 0 "\\`\\(?:" "\\)" ""] 16 (#$ . 7601)]) #@130 Create an HTTP request for `url-http-target-url'. Use `url-http-referer' as the Referer-header (subject to `url-privacy-level'). (defalias 'url-http-create-request #[0 "\306\211\307\310\"\243 \307\311\"\243\206 \211??\205 \312\313 \306\314\306$)\315!\f>\204. \316\317\320D\"\210\321H\315!\f>\204@ \316\317\320D\"\210\322H\307\323\"\243?\205\\ \313\324\305!\203W \206X \306\314\306$\325@!\326\232\203i \327\262\205s \330\331\"\262\203 \332\333Q\262\203\211 \334\333Q\262\211\203\241 \211;\203\241 \211\335\230\204\236 \211\326\230\203\241 \306\262\336\337\333#\262 \326\232\204\265 \333P\262 A\206\273 \340\341\325\203\337 \315!\f>\204\321 \316\317\320D\"\210\342H\343\232\204\337 \344!\202\341 !\345B\346\204\360 C\204\364 \347\202\365 \350\333D\205 \351\352D\"\315!\f>\204\316\317\320D\"\210\211\353H\206@\315!\f>\204%\316\317\320D\"\210\211\342H\205@\354\315!\f>\204;\316\317\320D\"\210\342H\355\"\262\354\315!\f>\204R\316\317\320D\"\210\342H\355\"U\204\251\351\356\325\357!!\315!\f>\204s\316\317\320D\"\210\211\353H\206\243\315!\f>\204\210\316\317\320D\"\210\211\342H\205\243\354\315!\f>\204\236\316\317\320D\"\210\342H\355\"\262#\202\262\351\360\325\357!!\"E\205\274\361E\333QF\205\306\362F\333QG\205\322\363\325G!\333QH\205\334\364H\333Q\365I\206\343\366\333\367 \315!\f>\204\371\316\317\320D\"\210\370H\205\325\371\315!\f>\204\316\317\320D\"\210\342H\343\232#!?\2057A\372\235\2057\373!\211\2055\374\375!\333Q\262\205A\376\333QJ\205R\377\201K JG!\333Q\333J\260\262\201L !GU\204p\201M \201N \"\210\201O D\201P \201Q \201R #\266\207" [url-http-extra-headers url-http-proxy url-basic-auth-storage url-http-target-url cl-struct-url-tags proxy-info nil assoc "Pragma" "Proxy-Authorization" url-http-proxy-basic-auth-storage url-get-authentication any type-of signal wrong-type-argument url 6 4 "Authorization" boundp url-http--encode-string "" "/" string-match "no-cache" "Authorization: " " \n" "Proxy-Authorization: " "file:nil" mapconcat #[257 "\211@\300AQ\207" [": "] 4 "\n\n(fn X)"] "GET" " " 1 "https" url-recreate-url " HTTP/" " \nMIME-Version: 1.0 \nConnection: " "close" "keep-alive" format "Extension: %s \n" 5 url-scheme-get-property default-port "Host: %s:%d \n" puny-encode-domain "Host: %s \n" "From: " "Accept-encoding: " "Accept-charset: " "Accept-language: " "Accept: " "*/*" url-http-user-agent-string 11 url-cookie-generate-header-lines ("GET" nil) url-is-cached "If-modified-since: " url-get-normalized-date "Referer: " "Content-length: " url-http-referer url-http-method url-http-version url-http-attempt-keepalives url-extensions-header url-personal-mail-address url-mime-encoding-string url-mime-charset-string url-mime-language-string url-mime-accept-string url-http-data number-to-string string-bytes error "Multibyte text in HTTP request: %s" "Request is: \n%s" apply url-debug http] 37 (#$ . 8291)]) #@10 (fn S) (defalias 'url-http--encode-string #[257 "\300!\203 \301\302\"\207\207" [multibyte-string-p encode-coding-string us-ascii] 4 (#$ . 11283)]) #@126 Remove trailing from header lines. This allows us to use `mail-fetch-field', etc. Return the number of characters removed. (defalias 'url-http-clean-headers #[0 "\301!eb\210\302\303\304#\203 \305\306!\210\202 \211Z\207" [url-http-end-of-headers marker-position re-search-forward " $" t replace-match ""] 5 (#$ . 11442)]) #@14 (fn PROXY) (defalias 'url-http-handle-authentication #[257 "\306\203 \307\202\n \310D\311\312\313#\266\314\203 \315\202 \316\317\211\320$\237\206% \321\317\322!\322\2038 \323\301!\2038 \2029 !\203B \324\202C \325\317\326\327\330\"\203T \331\332\"\210\211\203\230 \211@\333\334!!\262\335\336\"\203s \337\326\211\224#\202t \211\227\340!\211AA\203\217 \211V\203\217 \262\262\211\262\266A\266\202\202V \210\340!\204\275 ~\210db\210\341\206\264 \206\264 \206\264 \342\343\344\261\210\317\202\375 \345\346\347\350#!\351\327\352\"\243 \320%\211\204\330 \320\202\373 \203\341 \353\202\342 \330BB\f -./\35401#\210+\317\266\202)\207" [url-current-object url-http-proxy url-basic-auth-storage url-http-extra-headers url-http-method url-http-data "Handling %s authentication" "proxy" "normal" apply url-debug http mail-fetch-field "proxy-authenticate" "www-authenticate" nil t ("basic") url-recreate-url boundp url-http-proxy-basic-auth-storage url-http-real-basic-auth-storage 0 assoc "Authorization" error "Wrong authorization used for %s" url-eat-trailing-space url-strip-leading-spaces string-match "[ ]" substring url-auth-registered "