Format: application/x-python-code
⬇ Download File (10.8 KB)
   1  o
   2  
   3  7'h�4�@sddlmZddlZddlZddlZddlZddlZddlZddlZddl	m
   4  Z
   5  ddlmZm
   6  Z
   7  mZmZmZddlmZmZmZddlmZmZddlmZd	d
   8  lmZe�d�Zejejejej fZ!Gdd
   9  �d
  10  ej"�Z#Gdd�de�Z$Gdd�d�Z%Gdd�de
  11  �Z&dS)�)�annotationsN�)�
  12  NetworkStream)�ConnectionNotAvailable�LocalProtocolError�RemoteProtocolError�
  13  WriteError�map_exceptions)�Origin�Request�Response)�Lock�ShieldCancellation)�Trace�)�ConnectionInterfacezhttpcore.http11c@seZdZdZdZdZdZdS)�HTTPConnectionStaterrr�N)�__name__�
  14  __module__�__qualname__�NEW�ACTIVE�IDLE�CLOSED�rr�KC:\Users\shubh\Videos\agent\nova\Lib\site-packages\httpcore/_sync/http11.pyr$s
  15  rc@s�eZdZdZdZ	dCdDdd
  16  �ZdEdd�ZdFdd�ZdFdd�ZdCdGdd�Z	dHdd�Z
  17  dId d!�Z	dCdJd#d$�ZdKd%d&�Z
  18  dKd'd(�ZdLd*d+�ZdMd,d-�ZdMd.d/�ZdMd0d1�ZdMd2d3�ZdNd5d6�ZdNd7d8�ZdOd9d:�Z			dPdQdAdB�ZdS)R�HTTP11Connectionii�N�originr
  19  �streamr�keepalive_expiry�float | None�return�NonecCsF||_||_||_d|_tj|_t�|_d|_	t
  20  jt
  21  j|j
  22  d�|_dS)Nr)Zour_roleZmax_incomplete_event_size)�_origin�_network_stream�_keepalive_expiry�
  23  _expire_atrr�_stater
  24  �_state_lock�_request_count�h11�
  25  ConnectionZCLIENT�MAX_INCOMPLETE_EVENT_SIZE�
  26  _h11_state)�selfrrr rrr�__init__/s�zHTTP11Connection.__init__�requestrrcCs`|�|jj�std|jj�d|j����|j�#|jtjtj	fvr0|j
  27  d7_
  28  tj|_d|_nt
  29  ��Wd�n1s=wYz�d|i}z@tdt||��}|jdi|��Wd�n1sbwYtdt||��}|jdi|��Wd�n1s�wYWn	ty�Ynwtdt||��}|jdi|��\}}}}}||||f|_Wd�n1s�wY|j}	|dks�|jd	kr�d
  30  |kr�dkr�nnt|	|�}	t||t||�|||	d�d
  31  �WSt�y/}
  32  z:t��,tdt|��}|��Wd�n1�swYWd�|
  33  �Wd�|
  34  �1�s$wY|
  35  �d}
  36  ~
  37  ww)NzAttempted to send request to z on connection to rr1Zsend_request_headersZsend_request_bodyZreceive_response_headers�esCONNECT��i,)�http_version�
  38  reason_phrase�network_stream)�status�headers�content�
  39  extensions�response_closedr)�can_handle_request�urlr�RuntimeErrorr$r)r(rrrr*rr'rr�logger�_send_request_headers�_send_request_bodyr�_receive_response_headers�return_valuer%�method�HTTP11UpgradeStreamr�HTTP11ConnectionByteStream�
  40  BaseExceptionr�_response_closed)r/r1�kwargs�tracer4r7r5r8�
  41  trailing_datar6�excrrr�handle_requestAs��������������"
  42  ��
  43  
  44   �
  45  ��
  46  ����zHTTP11Connection.handle_requestcCsr|j�di�}|�dd�}ttjti��tj|j|jj|j	d�}Wd�n1s+wY|j
  47  ||d�dS)N�timeout�write)rD�targetr8�rN)r:�getr	r+rrrDr=rPr8�_send_event�r/r1�timeoutsrN�eventrrrr@�s��z&HTTP11Connection._send_request_headerscCsh|j�di�}|�dd�}t|jtj�sJ�|jD]}tj|d�}|j||d�q|jt�	�|d�dS)NrNrO)�datarQ)
  48  r:rR�
  49  isinstancer�typing�Iterabler+�DatarS�EndOfMessage)r/r1rUrN�chunkrVrrrrA�s
  50  z#HTTP11Connection._send_request_bodyrV�	h11.EventrNcCs,|j�|�}|dur|jj||d�dSdS)NrQ)r.�sendr%rO)r/rVrNZ
  51  bytes_to_sendrrrrS�s�zHTTP11Connection._send_event�:tuple[bytes, int, bytes, list[tuple[bytes, bytes]], bytes]c	Cs�|j�di�}|�dd�}	|j|d�}t|tj�rn
  52  t|tj�r'|jdkr'nqd|j}|j	�
  53  �}|jj\}}||j|j
  54  ||fS)NrN�readTrQr2sHTTP/)r:rR�_receive_eventrXr+rZInformationalResponse�status_coder4r8�	raw_itemsr.rK�reason)	r/r1rUrNrVr4r8rK�_rrrrB�s
  55  �
  56  �
  57  
  58  
  59  z*HTTP11Connection._receive_response_headers�typing.Iterator[bytes]ccs\�|j�di�}|�dd�}	|j|d�}t|tj�r"t|j�Vnt|tjtj	f�r-dSq)NrNraTrQ)
  60  r:rRrbrXr+r[�bytesrWr\ZPAUSEDrTrrr�_receive_response_body�s��z'HTTP11Connection._receive_response_body�h11.Event | type[h11.PAUSED]cCs�	ttjti��
  61  |j��}Wd�n1swY|tjurC|jj|j|d�}|dkr<|jj	tj
  62  kr<d}t|��|j�|�n|Sq)NTrQ�z/Server disconnected without sending a response.)r	r+rr.Z
  63  next_eventZ	NEED_DATAr%ra�READ_NUM_BYTES�their_stateZ
  64  SEND_RESPONSEZreceive_data)r/rNrVrW�msgrrrrb�s�
  65  ��zHTTP11Connection._receive_eventcCs�|j�<|jjtjur+|jjtjur+tj|_|j�	�|j
  66  dur*t��}||j
  67  |_
  68  n|��Wd�dSWd�dS1sBwYdS�N)r)r.Z	our_stater+ZDONErmrrr(Zstart_next_cycler&�time�	monotonicr'�close)r/�nowrrrrH�s
  69  
  70  �
  71  ��"z!HTTP11Connection._response_closedcCstj|_|j��dSro)rrr(r%rr�r/rrrrr�szHTTP11Connection.close�boolcCs
  72  ||jkSro)r$�r/rrrrr<s
  73  z#HTTP11Connection.can_handle_requestcC�|jtjkSro�r(rrrtrrr�is_availableszHTTP11Connection.is_availablecCs<t��}|jduo
  74  ||jk}|jtjko|j�d�}|p|S)NZis_readable)rprqr'r(rrr%�get_extra_info)r/rsZkeepalive_expiredZserver_disconnectedrrr�has_expireds
  75  �zHTTP11Connection.has_expiredcCrwrorxrtrrr�is_idle �zHTTP11Connection.is_idlecCrwro)r(rrrtrrr�	is_closed#r}zHTTP11Connection.is_closed�strcCs$t|j�}|�d|jj�d|j��S)Nz, HTTP/1.1, �, Request Count: )rr$r(�namer*rvrrr�info&s
  76  
  77  ��zHTTP11Connection.infoc	Cs6|jj}t|j�}d|�d|�d|jj�d|j�d�	S)N�<z [z, r�z]>)�	__class__rrr$r(r�r*)r/�
  78  class_namerrrr�__repr__-s
  79  ��zHTTP11Connection.__repr__cCs|Srorrtrrr�	__enter__8szHTTP11Connection.__enter__�exc_type�type[BaseException] | None�	exc_value�BaseException | None�	traceback�types.TracebackType | NonecCs|��dSro)rr)r/r�r�r�rrr�__exit__;szHTTP11Connection.__exit__ro)rr
  80  rrr r!r"r#)r1rr"r)r1rr"r#)rVr^rNr!r"r#)r1rr"r`)r1rr"rg)rNr!r"rj�r"r#)rr
  81  r"ru)r"ru)r"r)r"r)NNN)r�r�r�r�r�r�r"r#)rrrrlr-r0rMr@rArSrBrirbrHrrr<ryr{r|r~r�r�r�r�rrrrr+s6�
  82  
  83  K
  84  
  85  
  86  �
  87  
  88  
  89  
  90  
  91  
  92  
  93  
  94  
  95  
  96  
  97  �rc@s*eZdZddd�Zdd
  98  d�Zddd
  99  �ZdS)rF�
 100  connectionrr1rr"r#cCs||_||_d|_dS)NF)�_connection�_request�_closed)r/r�r1rrrr0Es
 101  z#HTTP11ConnectionByteStream.__init__rgccs��d|ji}z,tdt|j|��|jjdi|��D]}|VqWd�WdS1s+wYWdStyX}zt��
 102  |��Wd�|�1sMwY|�d}~ww)Nr1Zreceive_response_bodyr)r�rr?r�rirGrrr)r/rIr]rLrrr�__iter__Js"�
 103  �&�
 104  
 105  ����z#HTTP11ConnectionByteStream.__iter__cCsN|js%d|_tdt|j��|j��Wd�dS1swYdSdS)NTr;)r�rr?r�r�rHrtrrrrrXs"��z HTTP11ConnectionByteStream.closeN)r�rr1rr"r#)r"rgr�)rrrr0r�rrrrrrrFDs
 106  
 107  rFc@sReZdZd dd�Zd!d"dd�Zd!d#dd�Zd$dd�Z				d%d&dd�Zd'dd�Zd	S)(rErr�leading_datarhr"r#cCs||_||_dSro)�_stream�
 108  _leading_data)r/rr�rrrr0`s
 109  zHTTP11UpgradeStream.__init__N�	max_bytes�intrNr!cCs6|jr|jd|�}|j|d�|_|S|j�||�Sro)r�r�ra)r/r�rN�bufferrrrrads
 110  zHTTP11UpgradeStream.readr�cCs|j�||�dSro)r�rO)r/r�rNrrrrOlszHTTP11UpgradeStream.writecCs|j��dSro)r�rrrtrrrrroszHTTP11UpgradeStream.close�ssl_context�ssl.SSLContext�server_hostname�
 111  str | NonecCs|j�|||�Sro)r��	start_tls)r/r�r�rNrrrr�rszHTTP11UpgradeStream.start_tlsr�r�
 112  typing.AnycCs|j�|�Sro)r�rz)r/r�rrrrzzr}z"HTTP11UpgradeStream.get_extra_info)rrr�rhr"r#ro)r�r�rNr!r"rh)r�rhrNr!r"r#r�)NN)r�r�r�r�rNr!r"r)r�rr"r�)	rrrr0rarOrrr�rzrrrrrE_s
 113  
 114  �rE)'�
 115  __future__r�enum�logging�sslrp�typesrYr+Z_backends.baser�_exceptionsrrrrr	Z_modelsr
 116  rrZ_synchronizationr
 117  r�_tracerZ
 118  interfacesr�	getLoggerr?�Unionr[r\ZH11SendEvent�IntEnumrrrFrErrrr�<module>s6
 119  ��