MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.117.158.174
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/url/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/url/url-http.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:08:21 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/url/url-http.el
;;; in Emacs version 24.3.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\310\311\312\"\207" [require url-gw url-util 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 (#$ . 799))
#@35 HTTP retrievals are asynchronous.
(defconst url-http-asynchronous-p t (#$ . 871))
(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) (#$ . 1112))
#@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" (#$ . 1252))
#@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 (#$ . 1543))
#@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") (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")) (#$ . 1806))
(defalias 'url-http-debug #[(&rest args) "\203\303p!\211\203\304	\305\"\210\306	\305\"\210\307\310!\210)\311\312\313\n#\207" [quit-flag proc args get-buffer-process set-process-sentinel nil set-process-filter error "Transfer interrupted!" apply url-debug http] 5])
(put 'url-http-debug 'byte-optimizer 'byte-compile-inline-expand)
(defalias 'url-http-mark-connection-as-busy #[(host port proc) "\306	\nF\f\203!\307p!\211\203\310\n\311\"\210\312\n\311\"\210\313\314!\210)\315\316\317#)\210\320\n\321\"\210\322	B\323\n\324	B
\"\"
#\210\n\207" [host port proc args quit-flag url-http-open-connections "Marking connection as busy: %s:%d %S" get-buffer-process set-process-sentinel nil set-process-filter error "Transfer interrupted!" apply url-debug http set-process-query-on-exit-flag t puthash delq gethash] 7])
(defalias 'url-http-mark-connection-as-free #[(host port proc) "\306	\nF\f\203!\307p!\211\203\310\n\311\"\210\312\n\311\"\210\313\314!\210)\315\316\317#)\210\320\n!\321>\203N\322\n\311\"\210\310\n\323\"\210\324\n\311\"\210\325	B\n\326	B
\"B
#\210\311\207" [host port proc args quit-flag url-http-open-connections "Marking connection as free: %s:%d %S" get-buffer-process set-process-sentinel nil set-process-filter error "Transfer interrupted!" apply url-debug http process-status (open run connect) set-process-buffer url-http-idle-sentinel set-process-query-on-exit-flag puthash gethash] 6])
(defalias 'url-http-find-free-connection #[(host port) "\306	B\n\"\307\f\203\210\204\210\310\f@!\311>\204P\312	\f@F\203@\313p!\211 \203;\314 \307\"\210\315 \307\"\210\316\317!\210)\320\321\322
#)\210\323\f@\307\"\210\202\f@\324	F\203x\313p!\211 \203s\314 \307\"\210\315 \307\"\210\316\317!\210)\320\321\322
#)\210\f\211A@\210\202	\203\272\325	E\203\260\313p!\211 \203\253\314 \307\"\210\315 \307\"\210\316\317!\210)\320\321\322
#)\210\202\345\326	E\203\336\313p!\211 \203\331\314 \307\"\210\315 \307\"\210\316\317!\210)\320\321\322
#)\210\327\326	#\210\204\330\331!!\332\216\333!	$ \334 !\203\335 \307\"\210 +\205\336	#*\207" [host port url-http-open-connections connection conns args gethash nil process-status (run open connect) "Cleaning up dead process: %s:%d %S" get-buffer-process set-process-sentinel set-process-filter error "Transfer interrupted!" 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*" ((byte-code "\301!\203
\302\301!\303\"\210\304!\207" [buf get-buffer-process set-process-query-on-exit-flag nil kill-buffer] 3)) url-open-stream processp set-process-buffer url-http-mark-connection-as-busy quit-flag proc buf] 5])
(defalias 'url-http-user-agent-string #[nil "\304=\204<\203\305>\203\306\207\307\310	\203!	\311\n\312R\202\"\306#\207" [url-privacy-level url-package-name url-package-version url-version paranoid agent "" format "User-Agent: %sURL/%s
\n" "/" " "] 6])
#@75 Create an HTTP request for `url-http-target-url', referred to by REF-URL.
(defalias 'url-http-create-request #[(&optional ref-url) "\306\211\307\310\n\"\243\f\307\311\n\"\243\206
??\205$\312@\313\f\306\314\306$)AB\315HC>\2046\316\317\320\321#\210B\322HDB\315HC>\204L\316\317\323\321#\210B\324HE\307\325\n\"\243?\205m\313\326\327!\203g\206iB\306\314\306$FD\330\232\203y\331D\205\201\332\333\"F\203\216\334F\335QFA\203\232\336A\335QAG\203\266G;\203\266G\337\230\204\263G\330\230\203\266\306GH\340>\204\312H<\203\315\341H>\203\315\306G\342\343\n\335#\211\330\232\204\335\335P\342\344\345\306I\206\347\346\347
\203\363\350B!\202\365D\351J\335\352\353
\204K\204\354\202	\355\335L\205\356\357L\"B\211M\315HC>\204'\316\317\360\321#\210M\361H\206\\M\315HC>\204>\316\317\362\321#\210M\363H\205\\\364M\315HC>\204V\316\317\362\321#\210M\363H\365\")\364B\315HC>\204n\316\317\362\321#\210B\363H\365\"U\204\311\356\366EB\211M\315HC>\204\217\316\317\360\321#\210M\361H\206\304M\315HC>\204\246\316\317\362\321#\210M\363H\205\304\364M\315HC>\204\276\316\317\362\321#\210M\363H\365\")#\202\316\356\367E\"N\205\330\370N\335QO\205\342\371O\335QP\205\354\372P\335QQ\205\366\373Q\335Q\374R\206\375\375\335\376 AFB\315HC>\204\316\317\377\321#\210B\201XH\205=\201YEDB\315HC>\2044\316\317\362\321#\210B\363H\201Z\232#?\205cI\201[\235\205c\201\\B!\211S\205b\201]\201^S!\335Q)G\205o\201_G\335QT\205\201\201`\201aTG!\335Q\335T\211\205\211\335\257\"\330#\201b	DUV\203\275\201cp!\211W\203\266\201dW\306\"\210\201eW\306\"\210\316\201f!\210)\201g\201h\201iU#)\210	.\207" [extra-headers request url-http-extra-headers no-cache url-http-proxy using-proxy nil assoc "Pragma" "Proxy-Authorization" url-http-proxy-basic-auth-storage url-get-authentication any 0 error "%s accessing a non-%s" url-filename url 6 url-host 4 "Authorization" boundp proxy-info "" "/" string-match "no-cache" "Authorization: " "
\n" "Proxy-Authorization: " "file:nil" (low high paranoid) lastloc mapconcat #[(x) "@\301AQ\207" [x ": "] 3] string-as-unibyte delq "GET" " " url-recreate-url " HTTP/" "MIME-Version: 1.0
\n" "Connection: " "close" "keep-alive" format "Extension: %s
\n" url-portspec 5 url-type 1 url-scheme-get-property default-port "Host: %s:%d
\n" "Host: %s
\n" "From: " "Accept-encoding: " "Accept-charset: " "Accept-language: " "Accept: " "*/*" url-http-user-agent-string url-use-cookies url-basic-auth-storage proxy-auth url-http-target-url cl-struct-url-tags real-fname host auth ref-url url-privacy-level url-http-method url-http-version url-http-attempt-keepalives url-extensions-header urlobj url-personal-mail-address url-mime-encoding-string url-mime-charset-string url-mime-language-string url-mime-accept-string tm url-http-data args quit-flag proc 11 url-cookie-generate-header-lines "https" ("GET" nil) url-is-cached "If-modified-since: " url-get-normalized-date "Referer: " "Content-length: " number-to-string "Request is: \n%s" get-buffer-process set-process-sentinel set-process-filter "Transfer interrupted!" apply url-debug http] 35 (#$ . 6822)])
#@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 #[nil "\302!eb\210\303\304\305#\203\306\307!\210\202	Z)\207" [url-http-end-of-headers end marker-position re-search-forward "
$" t replace-match ""] 4 (#$ . 10041)])
(defalias 'url-http-handle-authentication #[(proxy) "\306\203	\307\202\n\310D\n\203'\311p!\211\203\"\312\313\"\210\314\313\"\210\315\316!\210)\317\320\321	#)\210\322\2037\323\2028\324\313\211\325$\237\206A\326\313\327\f!\327\203T\330\305!\203T
\202U\f!\203^\331\202_\332\313\333/01234\2115\3136\2117\203\3177@6\334\3356!!6\336\3376\"\203\2306\333\211\224O\227\202\2336\2278\3408!\2119\211:AA);9\203\305;/V\203\3056084;/+7A\2117\204y*\3404!\204\356~\210db\210\3414\342\343<\344\261\210\325\211=\2028\345\346\347\3500#!\3512\352\353	\"\2434\325	%\2110\204\325\211>\2027\203\354\202\3550B?B?@A?BCD\3563EF#+*.\207" [proxy args quit-flag proc url-current-object url-http-proxy "Handling %s authentication" "proxy" "normal" get-buffer-process set-process-sentinel nil set-process-filter error "Transfer interrupted!" apply url-debug http mail-fetch-field "proxy-authenticate" "www-authenticate" t ("basic") url-recreate-url boundp url-http-proxy-basic-auth-storage url-http-real-basic-auth-storage 0 url-eat-trailing-space url-strip-leading-spaces string-match "[ 	]" url-auth-registered "<hr>Sorry, but I do not know how to handle " " authentication.  If you'd like to write it," " send it to " ".<hr>" url-parse-args subst-char-in-string 44 59 url-get-authentication assoc "realm" "Proxy-Authorization" "Authorization" url-retrieve-internal strength auth url-basic-auth-storage auth-url url type auths this-auth --dolist-tail-- this-type registered x this-strength url-bug-address status success url-http-extra-headers url-http-method url-http-data url-request-extra-headers url-request-data url-request-method url-callback-function url-callback-arguments] 8])
#@31 Parse just the response code.
(defalias 'url-http-parse-response #[nil "\204\n\306\307\310 \"\210\311\310 D\n\203*\312p!\211\203%\313\314\"\210\315\314\"\210\306\316!\210)\317\320\321	#)\210eb\210\322\314w\210\323\314w\210`\324\314w\210`{\325p!\211\207" [url-http-end-of-headers args quit-flag proc url-http-response-version url-http-response-status error "Trying to parse HTTP response code in odd buffer: %s" buffer-name "url-http-parse-response called in (%s)" get-buffer-process set-process-sentinel nil set-process-filter "Transfer interrupted!" apply url-debug http " 	\n" "HTTP/" "[0-9]." read] 4 (#$ . 12129)])
#@161 Handle all set-cookie / set-cookie2 headers in an HTTP response.
The buffer must already be narrowed to the headers, so `mail-fetch-field' will
work correctly.
(defalias 'url-http-handle-cookies #[nil "\305\306\307\211\310$\237\305\311\307\211\310$\237\211\203;\312	GD\2034\313p!\211\203/\314\f\307\"\210\315\f\307\"\210\316\317!\210)\320\321\322\n#)\210\203f\323GD\203_\313p!\211\203Z\314\f\307\"\210\315\f\307\"\210\316\317!\210)\320\321\322\n#)\210	\205u\324	\211A@!\210\202f*\207" [cookies2 cookies args quit-flag proc mail-fetch-field "Set-Cookie" nil t "Set-Cookie2" "Found %d Set-Cookie headers" get-buffer-process set-process-sentinel set-process-filter error "Transfer interrupted!" apply url-debug http "Found %d Set-Cookie2 headers" url-cookie-handle-set-cookie] 7 (#$ . 12765)])
#@133 Parse and handle HTTP specific headers.
Return t if and only if the current buffer is still active and
should be shown to the user.
(defalias 'url-http-parse-headers #[nil "\306\307H	>\204\310\311\312\313#\210\314H\211\307H	>\204\"\310\311\315\313#\210\n\316H\206P\n\307H	>\2046\310\311\317\313#\210\n\320H\205P\321\n\307H	>\204K\310\311\317\313#\210\n\320H\322\")#\210\323\304!\203^\f\204d\310\324\325 \"\210eb\210\326\325 D@\203\213\327p!\211A\203\206\330A\331\"\210\332A\331\"\210\310\333!\210)\334\335\336
#)\210\337 \210\340 \210\341\342!BC\343\230\203\270B\203\261B\227\344\230\204\311\345!\210\202\311B\203\311B\227\346\230\203\311\345!\210)p\331\211DE\236\211FA@)GHIJD\347\245I\350IDE@\203\f\327p!\211A\203\330A\331\"\210\332A\331\"\210\310\333!\210)\334\335\336
#)\210K\307H	>\204\"\310\311\351\313#\210K\352H\203,\353 \210I\320=\203A\354J!\210\310\355D\"\210\202\277I\356=\203sG\357>\203Z\354J!\210\360H\202\277~\210L\203mM\361\232\203m\362J!\210\360H\202\277I\363=\2039\341\364!\206\203\341\365!NG\366=\204G\367>\203\240M\370\235\204\331N\202G\371=\203\260\361M\331O\202G\372=\203\366\373\374\375\360!!D@\203\336\327p!\211A\203\331\330A\331\"\210\332A\331\"\210\310\333!\210)\334\335\336
#)\210\376\374\375\360!!!\210\331N\360H\202G\377=\203\310\201_N\"\210N\2035\201`\201aN\"\203\201b\320N\"N\201`\201cN\"\2034\201b\320N\"N\201`PN\"\204I\201dNK\"NMOQRSTU\307W\204\232U\307V\203\357V@\307WXX\203\221X@\201e=\203WTWXA\211X\203kXA\211X\204pWUW*\203\357V\211Y\201eNDV@\244\240\210)\201f\201[!\210\201gNZV\307H	>\204\315\310\311\201h\313#\210\201iH\307H	>\204\340\310\311\351\313#\210\352H?%[\354J!\210\2024\201jC@\203\327p!\211A\203\330A\331\"\210\332A\331\"\210\310\333!\210)\334\335\336
#)\210V\211\\\201k\310\201lNEDV@\244\240\210)\360H+)\202\277I\314=\203^G\201m=\203R\201n\331!\210\202AG\201o=\203i\354J!\210\310\201p!\210\202AG\201q=\203x\360H\202AG\201r=\203\207\360H\202AG\201s=\203\226\360H\202AG\201t=\203\245\360H\202AG\201u=\203\267\201n\360!\210\202AG\201v=\203\306\360H\202AG\201w=\203\325\360H\202AG\201x=\203\344\360H\202AG\201y=\203\363\360H\202AG\201z=\203\360H\202AG\201{>\203\360H\202AG\201|=\203 \360H\202AG\201}=\203/\360H\202AG\201~=\203>\360H\202A\360HH\203\277V\211]\201k\310\336DEDV@\244\240\210)\202\277I\316=\203\265\360HD\201=\204\230D\201\200=\204\230D\201\201=\204\230D\201\202=\204\230D\201\203=\204\230D\210H\203\277V\211^\201k\310\336DEDV@\244\240\210)\202\277\310\201\204ID#\210H\204\311\354J!\210\201\205HD@\203\357\327p!\211A\203\352\330A\331\"\210\332A\331\"\210\310\333!\210)\334\335\336
#)\210~\210H,\207" [url-current-object cl-struct-url-tags urlobj url-http-process url-http-end-of-headers args url-http-mark-connection-as-free 0 error "%s accessing a non-%s" url-host url 4 url-portspec 5 url-type 1 url-scheme-get-property default-port boundp "Trying to parse headers in odd buffer: %s" buffer-name "url-http-parse-headers called in (%s)" get-buffer-process set-process-sentinel nil set-process-filter "Transfer interrupted!" apply url-debug http url-http-parse-response mail-narrow-to-head mail-fetch-field "Connection" "1.0" "keep-alive" delete-process "close" 100 "Parsed HTTP headers: class=%d status=%d" url-use-cookies 11 url-http-handle-cookies url-mark-buffer-as-dead "HTTP responses in class 1xx not supported (%d)" 2 (no-content reset-content) t "GET" url-store-in-cache 3 "Location" "URI" multiple-choices (moved-permanently found temporary-redirect) ("HEAD" "GET") see-other not-modified "Extracting document from cache... (%s)" url-cache-create-filename url-view-url url-cache-extract use-proxy quit-flag proc connection url-http-response-version url-http-response-status url-http-codes x status-symbol success class buffer url-http-target-url url-automatic-caching url-http-method redirect-uri url-http-data url-nonrelative-link url-http-extra-headers url-request-extra-headers url-request-data url-request-method url-max-redirections url-callback-arguments old-redirects events #1=#:v url-callback-function url-redirect-buffer #2=#:v #3=#:v #4=#:v "Redirection thru a proxy server not supported: %s" string-match "\\([^ 	]+\\)[ 	]" match-string "^<\\(.*\\)>$" url-expand-file-name :redirect make-local-variable url-retrieve-internal url-silent 10 "Maximum redirections reached" :error http-redirect-limit unauthorized url-http-handle-authentication payment-required "Somebody wants you to give them money" forbidden not-found method-not-allowed not-acceptable proxy-authentication-required request-timeout conflict gone length-required precondition-failed (request-entity-too-large request-uri-too-large) unsupported-media-type requested-range-not-satisfiable expectation-failed not-implemented bad-gateway service-unavailable gateway-timeout http-version-not-supported "Unknown class of HTTP response code: %d (%d)" "Finished parsing HTTP headers: %S"] 10 (#$ . 13582)])
#@59 Activate callback specified when this buffer was created.
(defalias 'url-http-activate-callback #[nil "\306\307H	>\204\310\311\312\313#\210\314H\211\307H	>\204\"\310\311\315\313#\210\n\316H\206P\n\307H	>\2046\310\311\317\313#\210\n\320H\205P\321\n\307H	>\204K\310\311\317\313#\210\n\320H\322\")#\210\323\324 D
\203w\325p!\211\203r\326\327\"\210\330\327\"\210\310\331!\210)\332\333\334\f#)\210\332\"\207" [url-current-object cl-struct-url-tags urlobj url-http-process args quit-flag url-http-mark-connection-as-free 0 error "%s accessing a non-%s" url-host url 4 url-portspec 5 url-type 1 url-scheme-get-property default-port "Activating callback in buffer (%s)" buffer-name get-buffer-process set-process-sentinel nil set-process-filter "Transfer interrupted!" apply url-debug http proc url-callback-function url-callback-arguments] 8 (#$ . 18777)])
#@70 Remove (now defunct) process PROC from the list of open connections.
(defalias 'url-http-idle-sentinel #[(proc why) "\301\302\"\207" [url-http-open-connections maphash #[(key val) "	>\205\304\n\305	\"#\207" [proc val key url-http-open-connections puthash delq] 5]] 3 (#$ . 19658)])
(defalias 'url-http-end-of-document-sentinel #[(proc why) "\306\307!D\n\203!\310p!\211\203\311\312\"\210\313\312\"\210\314\315!\210)\316\317\320	#)\210\321\"\210\322\307!!\205cr\307!q\210eb\210\323\324!\204[\f\203M\325 \202b\326 \210\327
p$\202b\330 \205b\325 )\207" [proc args quit-flag why url-http-no-retry url-current-object "url-http-end-of-document-sentinel in buffer (%s)" process-buffer get-buffer-process set-process-sentinel nil set-process-filter error "Transfer interrupted!" apply url-debug http url-http-idle-sentinel buffer-name looking-at "HTTP/" url-http-activate-callback erase-buffer url-http url-http-parse-headers url-callback-function url-callback-arguments] 5])
(defalias 'url-http-simple-after-change-function #[(st nd length) "\301\302\303!\"\207" [nd url-lazy-message "Reading %s..." url-pretty-length] 4])
#@212 Function used when we DO know how long the document is going to be.
More sophisticated percentage downloaded, etc.
Also does minimal parsing of HTTP headers and will actually cause
the callback to be triggered.
(defalias 'url-http-content-length-after-change-function #[(st nd length) "\203!\304\305\306	\nZ\"\307	\nZ!\307!\306	\nZ\"&\210\2029\304\310\306	\nZ\"\307	\nZ!\307!\306	\nZ\"%\210	\nZV\205Q\304\311\211\"\210\312\313!\210\314 \205Q\315 \207" [url-http-content-type nd url-http-end-of-headers url-http-content-length url-display-percentage "Reading [%s]... %s of %s (%d%%)" url-percentage url-pretty-length "Reading... %s of %s (%d%%)" nil url-lazy-message "Reading... done." url-http-parse-headers url-http-activate-callback] 9 (#$ . 20809)])
#@205 Function used when dealing with 'chunked' encoding.
Cannot give a sophisticated percentage, but we need a different
function to look for the special 0-length chunk that signifies
the end of the document.
(defalias 'url-http-chunked-encoding-after-change-function #[(st nd length) "\212b\210\306\211\307\211\f\205f
\310U2\203$\311\307\3122
$\210\202*\311\307\313
#\210\314
34\25756\203T\315p!\2117\203O\3167\307\"\210\3177\307\"\210\320\321!\210)\322\323\3245#)\210	\203d\325\202e\3268\203\341389\\V\203\254\327
D56\203\232\315p!\2117\203\225\3167\307\"\210\3177\307\"\210\320\321!\210)\322\323\3245#)\21089\\b\210\202\341\33089\\3ZD56\203\327\315p!\2117\203\322\3167\307\"\210\3177\307\"\210\320\321!\210)\322\323\3245#)\210\307\f\204\331C56\203\315p!\2117\203\3167\307\"\210\3177\307\"\210\320\321!\210)\322\323\3245#)\210\202\f	\203\332\307w\210\333\n!\204S\334`D56\203E\315p!\2117\203@\3167\307\"\210\3177\307\"\210\320\321!\210)\322\323\3245#)\210\307\211\202
\335\310\224\310\225\336\306\337\306\340\306\341\342\343\306\257\n#\210\344\345\224\345\225{\346\"9
T8\206z\347 \310\225\307\2238\310\224\310\225|\210\350
9\3518!F56\203\260\315p!\2117\203\253\3167\307\"\210\3177\307\"\210\320\321!\210)\322\323\3245#)\2109\310U\203\f\352C56\203\342\315p!\2117\203\335\3167\307\"\210\3177\307\"\210\320\321!\210)\322\323\3245#)\210\307\311\307\211\"\210\333\353!\203(\354C56\203\315p!\2117\203\3167\307\"\210\3177\307\"\210\320\321!\210)\322\323\3245#)\210\310\224\310\225|\210\355\356\307\306#\203[\357C56\203S\315p!\2117\203N\3167\307\"\210\3177\307\"\210\320\321!\210)\322\323\3245#)\210\360 \203\f\361 \210\202\f-\207" [st no-initial-crlf regexp case-fold-search read-next-chunk url-http-chunked-counter t nil 0 url-display-percentage "Reading [%s]... chunk #%d" "Reading... chunk #%d" "Reading chunk %d (%d %d %d)" get-buffer-process set-process-sentinel set-process-filter error "Transfer interrupted!" apply url-debug http "\\([0-9a-z]+\\).*
?\n" "
?\n\\([0-9a-z]+\\).*
?\n" "Got to the end of chunk #%d!" "Still need %d bytes to hit end of chunk" "Still spinning for next chunk..." "
\n" looking-at "Did not see start of chunk @ %d!" add-text-properties start-open end-open chunked-encoding face cursor invisible string-to-number 1 16 make-marker "Saw start of chunk %d (length=%d, start=%d" marker-position "Saw end of stream chunk!" "
?\n" "Removing terminator of last chunk" re-search-forward "^
*$" "Saw end of trailers..." url-http-parse-headers url-http-activate-callback url-http-content-type nd length args quit-flag proc url-http-chunked-start url-http-chunked-length] 14 (#$ . 21583)])
(defalias 'url-http-wait-for-headers-change-function #[(st nd length) "\306\307 D	\203 \310p!\211\203\311\n\312\"\210\313\n\312\"\210\314\315!\210)\316\317\320#)\210\312\211p\3129o\204\364eb\210\321\322!\203N\321\323!\204N\3249\325:\324\202\216\326\327\312\324#\203\216\330\307 D	\203v\310p!\211\203q\311\n\312\"\210\313\n\312\"\210\314\315!\210)\316\317\320#)\210\331 `\312\223:\3249;\332 Z;9\203\364
\204\266\333 \210\334 \210\335\336!<\335\337!=\335\340!\203\264\341\335\340!!>~\210<\203\300<\227<?\204\313\342 \210\202\364?\343U\204\331?\344U\203
\345?\307 E	\203\373\310p!\211\203\366\311\n\312\"\210\313\n\312\"\210\314\315!\210)\316\317\320#)\210\346 \203\364\342 \210\202\364@\347\230\203F\350\307 D	\2034\310p!\211\203/\311\n\312\"\210\313\n\312\"\210\314\315!\210)\316\317\320#)\210\346 \203\364\342 \210\202\364@\351\230\203}\352C	\203k\310p!\211\203f\311\n\312\"\210\313\n\312\"\210\314\315!\210)\316\317\320#)\210\346 \203\364\342 \210\202\364?\353\232\203\217\346 \203\364\342 \210\202\364
\203\276\354C	\203\261\310p!\211\203\254\311\n\312\"\210\313\n\312\"\210\314\315!\210)\316\317\320#)\210\355A\202\364<\356\232\203*\357C	\203\343\310p!\211\203\336\311\n\312\"\210\313\n\312\"\210\314\315!\210)\316\317\320#)\210\360A;:V\203\364\361C	\203\310p!\211\203\311\n\312\"\210\313\n\312\"\210\314\315!\210)\316\317\320#)\210\360\362:!;\211:Z#\210\202\364>\250\203\314\363C	\203N\310p!\211\203I\311\n\312\"\210\313\n\312\"\210\314\315!\210)\316\317\320#)\210\364A>\325U\203\217\365C	\203}\310p!\211\203x\311\n\312\"\210\313\n\312\"\210\314\315!\210)\316\317\320#)\210\346 \203\364\342 \210\202\364;:V\203\364\366C	\203\265\310p!\211\203\260\311\n\312\"\210\313\n\312\"\210\314\315!\210)\316\317\320#)\210\364\362:!;\211:Z#\210\202\364\367C	\203\352\310p!\211\203\345\311\n\312\"\210\313\n\312\"\210\314\315!\210)\316\317\320#)\210\355A\370C	\203\310p!\211\203
\311\n\312\"\210\313\n\312\"\210\314\315!\210)\316\317\320#)\210\fp=\205!db,\207" [args quit-flag proc content-length process-buffer old-http "url-http-wait-for-headers-change-function (%s)" buffer-name get-buffer-process set-process-sentinel nil set-process-filter error "Transfer interrupted!" apply url-debug http looking-at ".*\n" "^HTTP/[1-9]\\.[0-9]" t 0 re-search-forward "^
*$" "Saw end of headers... (%s)" make-marker url-http-clean-headers url-http-parse-response mail-narrow-to-head mail-fetch-field "transfer-encoding" "content-type" "content-length" string-to-number url-http-activate-callback 204 205 "%d response must have headers only (%s)." url-http-parse-headers "HEAD" "HEAD request must have headers only (%s)." "CONNECT" "CONNECT request must have headers only." 304 "Saw HTTP/0.9 response, connection closed means end of document." url-http-simple-after-change-function "chunked" "Saw chunked encoding." url-http-chunked-encoding-after-change-function "Calling initial chunked-encoding for extra data at end of headers" marker-position "Got a content-length, being smart about document end." url-http-content-length-after-change-function "Got 0-length content-length, activating callback immediately." "Calling initial content-length for extra data at end of headers" "No content-length, being dumb." "Spinning waiting for headers..." end-of-headers url-http-end-of-headers nd url-http-transfer-encoding url-http-content-type url-http-content-length url-http-response-status url-http-method url-http-after-change-function] 5])
#@506 Retrieve URL via HTTP asynchronously.
URL must be a parsed URL.  See `url-generic-parse-url' for details.

When retrieval is completed, execute the function CALLBACK, using
the arguments listed in CBARGS.  The first element in CBARGS
should be a plist describing what has happened so far during the
request, as described in the docstring of `url-retrieve' (if in
doubt, specify nil).

Optional arg RETRY-BUFFER, if non-nil, specifies the buffer of a
previous `url-http' call, which is being re-attempted.
(defalias 'url-http #[(url callback cbargs &optional retry-buffer) "\306!\204\307\310\311\300E\"\210	\206\312H\n>\204 \313\314\315\300#\210	\206%\316H	\206-\211\312H\n>\204<\313\314\317\300#\210\f\320H\206j\f\312H\n>\204P\313\314\321\300#\210\f\322H\205j\323\f\312H\n>\204e\313\314\321\300#\210\f\322H\324\")\325
\"-.\206~\326\327\330
#!/-\204\226\331/!\210\332/\313\333
#\210\202:r/q\210\334 \2100\3351\336\3322\2113\203\3033@2\3372!\332L\2103A\2113\204\256*4\206\312\34056789-:\332\211;<\312=>?@A\341B0C.D\332E	F\342-/\"\210\343-\344\"\210\345-!\211G\346=\203\347-\350\"\210\2029G\351=\203,\313\333
#\210\2029\347-\352\"\210\353-\354 \"\210*/,\207" [url url-using-proxy cl-struct-url-tags host urlobj port vectorp signal wrong-type-argument "Need a pre-parsed URL." 0 error "%s accessing a non-%s" url-host 4 url-portspec 5 url-type 1 url-scheme-get-property default-port url-http-find-free-connection generate-new-buffer format " *http %s:%d*" kill-buffer nil "Could not create connection to %s:%d" mm-disable-multibyte "%b [%s]" (url-http-end-of-headers url-http-content-type url-http-content-length url-http-transfer-encoding url-http-after-change-function url-http-response-version url-http-response-status url-http-chunked-length url-http-chunked-counter url-http-chunked-start url-callback-function url-callback-arguments url-show-status url-http-process url-http-method url-http-extra-headers url-http-data url-http-target-url url-http-no-retry url-http-connection-opened url-http-proxy) make-local-variable "GET" url-http-wait-for-headers-change-function set-process-buffer set-process-filter url-http-generic-filter process-status connect set-process-sentinel url-http-async-sentinel failed url-http-end-of-document-sentinel process-send-string url-http-create-request connection retry-buffer buffer url-current-object mode-line-format var --dolist-tail-- url-request-method url-http-method url-request-extra-headers url-http-extra-headers url-request-data url-http-data url-http-process url-http-chunked-length url-http-chunked-start url-http-chunked-counter callback url-callback-function cbargs url-callback-arguments url-http-after-change-function url-http-target-url url-http-no-retry url-http-connection-opened url-http-proxy status] 6 (#$ . 27886)])
(defalias 'url-http-async-sentinel #[(proc why) "\306\307!!\205\256r\307!q\210	\203\310\311\"\202\255\312\313O\314\230\203-\310\315\316\317\217\202\255\f\211\320\315\321\322\206<\312H >\204J\315\323\324\325#\210\206Q\313H\326\206[\211!\312H >\204l\315\323\327\325#\210!\330H\206\241!\312H >\204\203\315\323\331\325#\210!\332H\205\241\333!\312H >\204\233\315\323\331\325#\210!\332H\334\")\257D\f@\244\240\210)\335 )\207" [proc url-http-connection-opened url-http-no-retry why url-callback-arguments #1=#:v buffer-name process-buffer t url-http-end-of-document-sentinel 0 4 "open" error (byte-code "\301\302 \"\207" [proc process-send-string url-http-create-request] 3) ((file-error (byte-code "\302\303\304	\"\207" [url-http-connection-opened error nil message "HTTP error: %s"] 3))) :error connection-failed :host "%s accessing a non-%s" url-host url :service url-portspec 5 url-type 1 url-scheme-get-property default-port url-http-activate-callback url-http-proxy url-current-object cl-struct-url-tags urlobj] 14])
(defalias 'url-http-generic-filter #[(proc data) "\305!\205H	G\306U?\205Hr\305!q\210\307\nE\f\2034\310p!\211\203/\311\312\"\210\313\312\"\210\314\315!\210)\316\317\320#)\210\nddb\210	c\210d	G#)\207" [proc data url-http-after-change-function args quit-flag process-buffer 0 "Calling after change function `%s' for `%S'" get-buffer-process set-process-sentinel nil set-process-filter error "Transfer interrupted!" apply url-debug http] 4])
(byte-code "\300\301\302\303!\203\f\303\202
\304\"\207" [defalias url-http-symbol-value-in-buffer fboundp symbol-value-in-buffer #[(symbol buffer &optional unbound-value) "rq\210\303	!\204\n\202	J)\207" [buffer symbol unbound-value boundp] 2 "Return the value of SYMBOL in BUFFER, or UNBOUND-VALUE if it is unbound."]] 4)
(defalias 'url-http-head #[(url) "\303\304\305\n!*\207" [url-request-data url-request-method url "HEAD" nil url-retrieve-synchronously] 2])
(defalias 'url-http-file-exists-p #[(url) "\304\211\305!	\204\304\202*\306\307	\310#\211\250\205%\311Y\205%\312W\313	!\210\n+\207" [url buffer exists status nil url-http-head url-http-symbol-value-in-buffer url-http-response-status 500 200 300 kill-buffer] 5])
(defalias 'url-http-file-readable-p 'url-http-file-exists-p)
(defalias 'url-http-head-file-attributes #[(url &optional id-format) "\302!\211\205\303\304\305\211\303\211\211\306\307	\310#\311\303\211\211\257\f\312	!\210)\207" [url buffer url-http-head nil 1 0 url-http-symbol-value-in-buffer url-http-content-length -1 "----------" kill-buffer] 13])
(defalias 'url-http-file-attributes #[(url &optional id-format) "\302!\203\303	\"\207\304	\"\207" [url id-format url-dav-supported-p url-dav-file-attributes url-http-head-file-attributes] 3])
#@677 Return a property list describing options available for URL.
This list is retrieved using the `OPTIONS' HTTP method.

Property list members:

methods
  A list of symbols specifying what HTTP methods the resource
  supports.

dav
  A list of numbers specifying what DAV protocol/schema versions are
  supported.

dasl
  A list of supported DASL search types supported (string form)

ranges
  A list of the units available for use in partial document fetches.

p3p
  The `Platform For Privacy Protection' description for the resource.
  Currently this is just the raw header contents.  This is likely to
  change once P3P is formally supported by the URL package or
  Emacs/W3.
(defalias 'url-http-options #[(url) "\306\307\310\n!\307\211\203\214\311\312\313#\314\245\315U\203\214rq\210\214\316 &\317\216\320 \210\321\322!\211\203>\323
\324\325\326\327\f\330\"\"#\321\331!\211\203U\323
\332\333\313\325\334\327\f\335\"\"\"#\321\336!\211\203f\323
\337\327\f\335\"#\321\340!\211\203t\323
\341\f#\321\342!\211\203\213\323
\343\333\344\325\326\327\f\335\"\"\"#,\203\224\345!\210
-\207" [url-request-method url-request-data url buffer header options "OPTIONS" nil url-retrieve-synchronously url-http-symbol-value-in-buffer url-http-response-status 0 100 2 match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) mail-narrow-to-head mail-fetch-field "allow" plist-put methods mapcar intern split-string "[ ,]+" "dav" dav delq string-to-number "[, ]+" "dasl" dasl "p3p" p3p "accept-ranges" ranges none kill-buffer save-match-data-internal] 11 (#$ . 33561)])
(require 'tls)
#@21 Default HTTPS port.
(defconst url-https-default-port 443 (#$ . 35201))
#@36 HTTPS retrievals are asynchronous.
(defconst url-https-asynchronous-p t (#$ . 35278))
(defalias 'url-https-expand-file-name 'url-default-expander)
(defalias 'url-https-create-secure-wrapper '(macro . #[(method args) "\302\303\304\203\305\202\f\306\"!	\304\307\206\310\"\311\312\303\304\203$\313\202%\310\"!\314\315\314\316	\"\"BE\257\207" [method args defun intern format "url-https-%s" "url-https" "HTTPS wrapper around `%s' call." "url-http" let ((url-gateway-method 'tls)) "url-http-%s" remove &rest &optional] 12]))
#@39 HTTPS wrapper around `url-http' call.
(defalias 'url-https #[(url callback cbargs) "\304\305	\n#)\207" [url-gateway-method url callback cbargs tls url-http] 4 (#$ . 35817)])
#@44 HTTPS wrapper around `file-exists-p' call.
(defalias 'url-https-file-exists-p #[(url) "\302\303	!)\207" [url-gateway-method url tls url-http-file-exists-p] 2 (#$ . 35999)])
#@46 HTTPS wrapper around `file-readable-p' call.
(defalias 'url-https-file-readable-p #[(url) "\302\303	!)\207" [url-gateway-method url tls url-http-file-readable-p] 2 (#$ . 36179)])
#@46 HTTPS wrapper around `file-attributes' call.
(defalias 'url-https-file-attributes #[(url &optional id-format) "\303\304	\n\")\207" [url-gateway-method url id-format tls url-http-file-attributes] 3 (#$ . 36365)])
(provide 'url-http)

MMCT - 2023