id ddlZddlmZddlmZmZmZddlmZddl m Z m Z m Z m Z ddlmZddlmZmZdd lmZmZmZGd d eeeeefZdS) N)suppress)AnyOptionalTuple) BaseProtocol) ClientOSErrorClientPayloadErrorServerDisconnectedErrorServerTimeoutError)BaseTimerContext)HttpResponseParserRawResponseMessage) EMPTY_PAYLOAD DataQueue StreamReadercbeZdZdZdejddfdZedefdZ edefdZ d$dZ d$d Z defd Z d eeddffd Zd$d Zd$fd Zd$fd Zd eddffd ZdededdfdZddddddddeededededeededdfdZd$dZd$d Zd$d!Zd"eddfd#ZxZ S)%ResponseHandlerz8Helper class to adapt between Protocol and StreamReader.loopreturnNctj||tj||d|_d|_d|_d|_d|_d|_d|_ d|_ d|_ d|_ dS)N)rF) r__init__r _should_close_payload _skip_payload_payload_parser_timer_tail _upgraded_parser _read_timeout_read_timeout_handle)selfrs I/opt/cloudlinux/venv/lib/python3.11/site-packages/aiohttp/client_proto.pyrzResponseHandler.__init__s|d....4&&&"04 "#  59 .2CG!!!rc|jSN)r r$s r%upgradedzResponseHandler.upgraded's ~rc|j|jr|jrdS|jpL|jpE|dup/|jdup&t |dkpt|jS)NTr) ris_eofr r exceptionrlenboolrr(s r% should_closezResponseHandler.should_close+s = $T]-A-A-C-C $t~ $4   ~ ~~t+ #4/ 4yy1}  DJ  rcd|_dSNT)rr(s r% force_closezResponseHandler.force_close9s!rc|j}|8|d|_d|_|dSdSr') transportcloser _drop_timeout)r$r4s r%r5zResponseHandler.close<sMN  OO   !DN DM    ! rcH|jduo|j Sr')r4 is_closingr(s r% is_connectedzResponseHandler.is_connectedDs%~T)M$.2K2K2M2M.MMrexcc||jEtt5|jdddn #1swxYwYd}|jY |j}n>#t$r1|j'|jtdYnwxYw| sIt|trt|j }|t|}||d|_d|_d|_d|_d|_t#|dS)Nz!Response payload is not completedTF)r6rr Exceptionfeed_eofr!r set_exceptionr r+ isinstanceOSErrorr argsr r_reading_pausedsuperconnection_lost)r$r: uncompleted __class__s r%rDzResponseHandler.connection_lostGs    +)$$ 0 0$--/// 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 < # "l3355    =,M//*+NOO  {{}} $#w'' /#SX.{-k::   s # # #!  #$ $$$$$s#AAA,B8CCc.|dSr')r6r(s r% eof_receivedzResponseHandler.eof_receivedis rcpt|dSr')rC pause_readingr6r$rFs r%rJzResponseHandler.pause_readingms1  rcpt|dSr')rCresume_reading_reschedule_timeoutrKs r%rMzResponseHandler.resume_readingqs1       """""rcd|_|t|dSr1)rr6rCr>)r$r:rFs r%r>zResponseHandler.set_exceptionus;!  c"""""rparserpayloadc||_||_||jr&|jdc}|_||dSdS)Nr)rrr6r data_received)r$rPrQdatas r% set_parserzResponseHandler.set_parserzsc   %  : %#z3 D$*   t $ $ $ $ $ % %rFTi)timer skip_payloadread_until_eofauto_decompress read_timeout read_bufsizerVrWrXrYrZr[c ||_||_|t||j||t | |||_|jr&|jdc}|_||dSdS)N)rVpayload_exceptionresponse_with_bodyrXrYr) rr"rNr_loopr r!rrS)r$rVrWrXrYrZr[rTs r%set_response_paramsz#ResponseHandler.set_response_paramss*)   """)  J 0#//)+      : %#z3 D$*   t $ $ $ $ $ % %rcX|j"|jd|_dSdSr')r#cancelr(s r%r6zResponseHandler._drop_timeouts6  $ 0  % , , . . .(,D % % % 1 0rc|j}|j|j|r'|j||j|_dSd|_dSr')r"r#rbr_ call_later_on_read_timeout)r$timeouts r%rNz#ResponseHandler._reschedule_timeoutsh$  $ 0  % , , . . .  -(, (=(=.))D % % %)-D % % %rctd}|||j|j|dSdS)Nz#Timeout on reading data from socket)r r>r)r$r:s r%rez ResponseHandler._on_read_timeoutsP !FGG 3 = $ M ' ' , , , , , % $rrTc~||sdS|jF|j|\}}|r%d|_d|_|r||dS|js|j|xj|z c_dS |j|\}}}nM#t$r@}|j |j | |Yd}~dSd}~wwxYw||_d}|D]`\}}|j rd|_ ||_|js |jdvr||t fdH|||fda|8|t ur||jn||r"|r||dS||_dSdS)NT)i0r)rNr feed_datarrSr r!r BaseExceptionr4r5r>r/rrcoderon_eofr6) r$rTeoftailmessagesr)r:rQmessages r%rSzResponseHandler.data_receiveds+   """  F   +,66t< >$GW+2-1*$+DM)>W\Z-G-G'?CCCC'91====& m33t'9::::**,,,****400000%) **sB&& C005C++C0)rN)!__name__ __module__ __qualname____doc__asyncioAbstractEventLooprpropertyr.r)r/r2r5r9rrkrDrHrJrMr>rrUr floatintr`r6rNrebytesrS __classcell__)rFs@r%rrsBBHW6H4HHHH&$X  d    X  """"!!!!NdNNNN %8M#: %t % % % % % %D########4###### % %s %t % % % %$-1"$ $(,!%%%()% %  %  %uo%% %%%%<---- - - - ----- =*%=*D=*=*=*=*=*=*=*=*rr)rv contextlibrtypingrrr base_protocolrclient_exceptionsr r r r helpersr httprrstreamsrrrrrr%rs&'''''''''''''''' &%%%%%88888888;;;;;;;;;;j*j*j*j*j*lIe4F 4T.U$Vj*j*j*j*j*r