o
    h                     @   s@   d dl mZ G dd deZeD ]Zeeej ee qdS )    )IntEnumc                   @   s  e Zd ZdZdWdededd fddZdefdd	Zededefd
dZ	edede
fddZedede
fddZedede
fddZedede
fddZedede
fddZedede
fddZdZdZdZdZdZdZdZdZd Zd!Zd"Zd#Zd$Zd%Zd&Zd'Z d(Z!d)Z"d*Z#d+Z$d,Z%d-Z&d.Z'd/Z(d0Z)d1Z*d2Z+d3Z,d4Z-d5Z.d6Z/d7Z0d8Z1d9Z2d:Z3d;Z4d<Z5d=Z6d>Z7d?Z8d@Z9dAZ:dBZ;dCZ<dDZ=dEZ>dFZ?dGZ@dHZAdIZBdJZCdKZDdLZEdMZFdNZGdOZHdPZIdQZJdRZKdSZLdTZMdUZNdVS )XcodesaG  HTTP status codes and reason phrases

    Status codes from the following RFCs are all observed:

        * RFC 7231: Hypertext Transfer Protocol (HTTP/1.1), obsoletes 2616
        * RFC 6585: Additional HTTP Status Codes
        * RFC 3229: Delta encoding in HTTP
        * RFC 4918: HTTP Extensions for WebDAV, obsoletes 2518
        * RFC 5842: Binding Extensions to WebDAV
        * RFC 7238: Permanent Redirect
        * RFC 2295: Transparent Content Negotiation in HTTP
        * RFC 2774: An HTTP Extension Framework
        * RFC 7540: Hypertext Transfer Protocol Version 2 (HTTP/2)
        * RFC 2324: Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)
        * RFC 7725: An HTTP Status Code to Report Legal Obstacles
        * RFC 8297: An HTTP Status Code for Indicating Hints
        * RFC 8470: Using Early Data in HTTP
     valuephrasereturnc                 C   s   t | |}||_||_|S N)int__new___value_r   )clsr   r   obj r   I/var/www/html/ai/venv/lib/python3.10/site-packages/httpx/_status_codes.pyr
      s   zcodes.__new__c                 C   s
   t | jS r   )strr   )selfr   r   r   __str__   s   
zcodes.__str__c                 C   s"   zt |jW S  ty   Y dS w )Nr   )r   r   
ValueErrorr   r   r   r   r   get_reason_phrase"   s
   zcodes.get_reason_phrasec                 C      d|  ko	dkS   S )zI
        Returns `True` for 1xx status codes, `False` otherwise.
        d      r   r   r   r   r   is_informational)      zcodes.is_informationalc                 C   r   )zI
        Returns `True` for 2xx status codes, `False` otherwise.
           i+  r   r   r   r   r   
is_success0   r   zcodes.is_successc                 C   r   )zI
        Returns `True` for 3xx status codes, `False` otherwise.
        ,  i  r   r   r   r   r   is_redirect7   r   zcodes.is_redirectc                 C   r   )zI
        Returns `True` for 4xx status codes, `False` otherwise.
          i  r   r   r   r   r   is_client_error>   r   zcodes.is_client_errorc                 C   r   )zI
        Returns `True` for 5xx status codes, `False` otherwise.
          W  r   r   r   r   r   is_server_errorE   r   zcodes.is_server_errorc                 C   r   )zP
        Returns `True` for 4xx or 5xx status codes, `False` otherwise.
        r   r"   r   r   r   r   r   is_errorL   r   zcodes.is_error)r   Continue)e   zSwitching Protocols)f   
Processing)g   zEarly Hints)r   OK)   Created)   Accepted)   zNon-Authoritative Information)   z
No Content)   zReset Content)   zPartial Content)   zMulti-Status)   zAlready Reported)   zIM Used)r   zMultiple Choices)i-  zMoved Permanently)i.  Found)i/  z	See Other)i0  zNot Modified)i1  z	Use Proxy)i3  zTemporary Redirect)i4  zPermanent Redirect)r   zBad Request)i  Unauthorized)i  zPayment Required)i  	Forbidden)i  z	Not Found)i  zMethod Not Allowed)i  zNot Acceptable)i  zProxy Authentication Required)i  zRequest Timeout)i  Conflict)i  Gone)i  zLength Required)i  zPrecondition Failed)i  zRequest Entity Too Large)i  zRequest-URI Too Long)i  zUnsupported Media Type)i  zRequested Range Not Satisfiable)i  zExpectation Failed)i  zI'm a teapot)i  zMisdirected Request)i  zUnprocessable Entity)i  Locked)i  zFailed Dependency)i  z	Too Early)i  zUpgrade Required)i  zPrecondition Required)i  zToo Many Requests)i  zRequest Header Fields Too Large)i  zUnavailable For Legal Reasons)r!   zInternal Server Error)i  zNot Implemented)i  zBad Gateway)i  zService Unavailable)i  zGateway Timeout)i  zHTTP Version Not Supported)i  zVariant Also Negotiates)i  zInsufficient Storage)i  zLoop Detected)i  zNot Extended)i  zNetwork Authentication RequiredN)r   )O__name__
__module____qualname____doc__r	   r   r
   r   classmethodr   boolr   r   r   r    r#   r$   CONTINUESWITCHING_PROTOCOLS
PROCESSINGEARLY_HINTSr*   CREATEDACCEPTEDNON_AUTHORITATIVE_INFORMATION
NO_CONTENTRESET_CONTENTPARTIAL_CONTENTMULTI_STATUSALREADY_REPORTEDIM_USEDMULTIPLE_CHOICESMOVED_PERMANENTLYFOUND	SEE_OTHERNOT_MODIFIED	USE_PROXYTEMPORARY_REDIRECTPERMANENT_REDIRECTBAD_REQUESTUNAUTHORIZEDPAYMENT_REQUIRED	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_LONGUNSUPPORTED_MEDIA_TYPEREQUESTED_RANGE_NOT_SATISFIABLEEXPECTATION_FAILEDIM_A_TEAPOTMISDIRECTED_REQUESTUNPROCESSABLE_ENTITYLOCKEDFAILED_DEPENDENCY	TOO_EARLYUPGRADE_REQUIREDPRECONDITION_REQUIREDTOO_MANY_REQUESTSREQUEST_HEADER_FIELDS_TOO_LARGEUNAVAILABLE_FOR_LEGAL_REASONSINTERNAL_SERVER_ERRORNOT_IMPLEMENTEDBAD_GATEWAYSERVICE_UNAVAILABLEGATEWAY_TIMEOUTHTTP_VERSION_NOT_SUPPORTEDVARIANT_ALSO_NEGOTIATESINSUFFICIENT_STORAGELOOP_DETECTEDNOT_EXTENDEDNETWORK_AUTHENTICATION_REQUIREDr   r   r   r   r      s    r   N)enumr   r   codesetattr_name_lowerr	   r   r   r   r   <module>   s     