a
    !f                     @   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dWeed dddZedddZeeed	d
dZ	eee
d	ddZeee
d	ddZeee
d	ddZeee
d	ddZeee
d	ddZeee
d	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   T/var/www/html/python-backend/venv/lib/python3.9/site-packages/httpx/_status_codes.pyr
      s    zcodes.__new__)r   c                 C   s
   t | jS r   )strr   )selfr   r   r   __str__   s    zcodes.__str__)r   r   c                 C   s&   zt |jW S  ty    Y dS 0 d S )Nr   )r   r   
ValueErrorr   r   r   r   r   get_reason_phrase"   s    zcodes.get_reason_phrasec                 C   s   d|  kodkS   S )zI
        Returns `True` for 1xx status codes, `False` otherwise.
        d      r   r   r   r   r   is_informational)   s    zcodes.is_informationalc                 C   s   d|  kodkS   S )zI
        Returns `True` for 2xx status codes, `False` otherwise.
           i+  r   r   r   r   r   
is_success0   s    zcodes.is_successc                 C   s   d|  kodkS   S )zI
        Returns `True` for 3xx status codes, `False` otherwise.
        ,  i  r   r   r   r   r   is_redirect7   s    zcodes.is_redirectc                 C   s   d|  kodkS   S )zI
        Returns `True` for 4xx status codes, `False` otherwise.
          i  r   r   r   r   r   is_client_error>   s    zcodes.is_client_errorc                 C   s   d|  kodkS   S )zI
        Returns `True` for 5xx status codes, `False` otherwise.
          W  r   r   r   r   r   is_server_errorE   s    zcodes.is_server_errorc                 C   s   d|  kodkS   S )zP
        Returns `True` for 4xx or 5xx status codes, `False` otherwise.
        r   r    r   r   r   r   r   is_errorL   s    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    