o
    ฒตj-  ใ                   @   sD  G d d de ZG dd deZG dd deZG dd deZG dd	 d	eZG d
d deZG dd deZG dd deZ	G dd deZ
G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZG d"d# d#eZG d$d% d%eZG d&d' d'eZd(S ))c                   @   s   e Zd ZdS )ฺParseExceptionN)ฺ__name__ฺ
__module__ฺ__qualname__ฉ r   r   ๚I/var/www/ai-app/venv/lib/python3.10/site-packages/gunicorn/http/errors.pyr      s    r   c                   @   ๓   e Zd ZdddZdd ZdS )ฺ
NoMoreDataNc                 C   ๓
   || _ d S ฉNฉฺbuf)ฺselfr   r   r   r   ฺ__init__   ๓   
zNoMoreData.__init__c                 C   ๓
   d| j  S )NzNo more data after: %rr   ฉr   r   r   r   ฺ__str__   r   zNoMoreData.__str__r
   ฉr   r   r   r   r   r   r   r   r   r      s    
r   c                   @   ๓   e Zd Zdd Zdd ZdS )ฺConfigurationProblemc                 C   ๓   || _ d| _d S )Ni๔  )ฺinfoฺcode)r   r   r   r   r   r      ๓   
zConfigurationProblem.__init__c                 C   r   )NzConfiguration problem: %s)r   r   r   r   r   r      r   zConfigurationProblem.__str__Nr   r   r   r   r   r      ๓    r   c                   @   r   )ฺInvalidRequestLinec                 C   r   ฉNi  )ฺreqr   )r   r   r   r   r   r   "   r   zInvalidRequestLine.__init__c                 C   r   )NzInvalid HTTP request line: %r)r   r   r   r   r   r   &   r   zInvalidRequestLine.__str__Nr   r   r   r   r   r   !   r   r   c                   @   r   )ฺInvalidRequestMethodc                 C   r	   r
   ฉฺmethod)r   r    r   r   r   r   +   r   zInvalidRequestMethod.__init__c                 C   r   )NzInvalid HTTP method: %rr   r   r   r   r   r   .   r   zInvalidRequestMethod.__str__Nr   r   r   r   r   r   *   ๓    r   c                   @   r   )ฺExpectationFailedc                 C   r	   r
   ฉฺexpect)r   r$   r   r   r   r   3   r   zExpectationFailed.__init__c                 C   ๓   d| j f S )Nz%Unable to comply with expectation: %rr#   r   r   r   r   r   6   ๓   zExpectationFailed.__str__Nr   r   r   r   r   r"   2   r!   r"   c                   @   r   )ฺInvalidHTTPVersionc                 C   r	   r
   ฉฺversion)r   r)   r   r   r   r   ;   r   zInvalidHTTPVersion.__init__c                 C   r%   )NzInvalid HTTP Version: %rr(   r   r   r   r   r   >   r&   zInvalidHTTPVersion.__str__Nr   r   r   r   r   r'   :   r!   r'   c                   @   r   )ฺInvalidHeaderNc                 C   ๓   || _ || _d S r
   )ฺhdrr   )r   r,   r   r   r   r   r   C   r   zInvalidHeader.__init__c                 C   r   )NzInvalid HTTP Header: %rฉr,   r   r   r   r   r   G   r   zInvalidHeader.__str__r
   r   r   r   r   r   r*   B   ๓    
r*   c                   @   r   )ฺObsoleteFoldingc                 C   r	   r
   r-   ฉr   r,   r   r   r   r   L   r   zObsoleteFolding.__init__c                 C   r%   )Nz)Obsolete line folding is unacceptable: %rr-   r   r   r   r   r   O   r&   zObsoleteFolding.__str__Nr   r   r   r   r   r/   K   r!   r/   c                   @   r   )ฺInvalidHeaderNamec                 C   r	   r
   r-   r0   r   r   r   r   T   r   zInvalidHeaderName.__init__c                 C   r   )NzInvalid HTTP header name: %rr-   r   r   r   r   r   W   r   zInvalidHeaderName.__str__Nr   r   r   r   r   r1   S   r!   r1   c                   @   r   )ฺUnsupportedTransferCodingc                 C   r   )Ni๕  )r,   r   r0   r   r   r   r   \   r   z"UnsupportedTransferCoding.__init__c                 C   r   )NzUnsupported transfer coding: %rr-   r   r   r   r   r   `   r   z!UnsupportedTransferCoding.__str__Nr   r   r   r   r   r2   [   r   r2   c                   @   r   )ฺInvalidChunkSizec                 C   r	   r
   ฉฺdata)r   r5   r   r   r   r   e   r   zInvalidChunkSize.__init__c                 C   r   )NzInvalid chunk size: %rr4   r   r   r   r   r   h   r   zInvalidChunkSize.__str__Nr   r   r   r   r   r3   d   r!   r3   c                   @   r   )ฺChunkMissingTerminatorc                 C   r	   r
   ฉฺterm)r   r8   r   r   r   r   m   r   zChunkMissingTerminator.__init__c                 C   r   )Nz*Invalid chunk terminator is not '\r\n': %rr7   r   r   r   r   r   p   r   zChunkMissingTerminator.__str__Nr   r   r   r   r   r6   l   r!   r6   c                   @   s    e Zd ZdZdd Zdd ZdS )ฺInvalidChunkExtensionz%Invalid chunk extension per RFC 9112.c                 C   r	   r
   ฉฺreason)r   r;   r   r   r   r   w   r   zInvalidChunkExtension.__init__c                 C   r   )NzInvalid chunk extension: %sr:   r   r   r   r   r   z   r   zInvalidChunkExtension.__str__N)r   r   r   ฺ__doc__r   r   r   r   r   r   r9   t   s    r9   c                   @   r   )ฺLimitRequestLineNc                 C   r+   r
   )ฺsizeฺmax_size)r   r>   r?   r   r   r   r      r   zLimitRequestLine.__init__c                 C   s$   | j d u r
t| jS d| j| j f S )Nz#Request Line is too large (%s > %s))r?   ฺstrr>   r   r   r   r   r      s   

zLimitRequestLine.__str__r
   r   r   r   r   r   r=   ~   r.   r=   c                   @   r   )ฺLimitRequestHeadersc                 C   r	   r
   ฉฺmsgฉr   rC   r   r   r   r      r   zLimitRequestHeaders.__init__c                 C   s   | j S r
   rB   r   r   r   r   r      s   zLimitRequestHeaders.__str__Nr   r   r   r   r   rA      r!   rA   c                   @   r   )ฺInvalidProxyLinec                 C   r   r   )ฺliner   )r   rF   r   r   r   r      r   zInvalidProxyLine.__init__c                 C   r   )NzInvalid PROXY line: %r)rF   r   r   r   r   r      r   zInvalidProxyLine.__str__Nr   r   r   r   r   rE      r   rE   c                   @   r   )ฺInvalidProxyHeaderc                 C   r   r   )rC   r   rD   r   r   r   r      r   zInvalidProxyHeader.__init__c                 C   r   )NzInvalid PROXY header: %srB   r   r   r   r   r      r   zInvalidProxyHeader.__str__Nr   r   r   r   r   rG      r   rG   c                   @   r   )ฺForbiddenProxyRequestc                 C   r   )Ni  )ฺhostr   )r   rI   r   r   r   r   ค   r   zForbiddenProxyRequest.__init__c                 C   r   )Nz!Proxy request from %r not allowed)rI   r   r   r   r   r   จ   r   zForbiddenProxyRequest.__str__Nr   r   r   r   r   rH   ฃ   r   rH   c                   @   s   e Zd Zdd ZdS )ฺInvalidSchemeHeadersc                 C   s   dS )NzContradictory scheme headersr   r   r   r   r   r   ญ   s   zInvalidSchemeHeaders.__str__N)r   r   r   r   r   r   r   r   rJ   ฌ   s    rJ   N)ฺ	Exceptionr   ฺIOErrorr   r   r   r   r"   r'   r*   r/   r1   r2   r3   r6   r9   r=   rA   rE   rG   rH   rJ   r   r   r   r   ฺ<module>   s(   				
			