
    g[                     v    d dl Z d dlmZmZmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ  G d d	e	      Zy)
    N)DictOptionalTypeUnion)HttpResponseBadRequest)View)ImmediateHttpResponse)Input)ErrorResponsec                   v     e Zd ZU dZeeeeee	   f      ee	   f   e
d<   dZd Z fdZd Zd Zd Zd	 Z xZS )
RESTViewNinput_classTc                 .     | j                   |g|i |S N)handle)selfrequestargskwargss       d/var/www/django_project/virt/lib/python3.12/site-packages/allauth/headless/internal/restkit/views.pydispatchzRESTView.dispatch   s    t{{74T4V44    c                     | j                   rD|j                  dk7  r5| j                  |      | _        | j	                  | j                        }|r|S t        |   |g|i |S )NGET)handle_json_inputmethod_parse_jsondatahandle_inputsuperr   )r   r   r   r   response	__class__s        r   r   zRESTView.handle   s_    !!gnn&=((1DI((3Hw9$9&99r   c                     i S r    )r   s    r   get_input_kwargszRESTView.get_input_kwargs   s    	r   c                 <   | j                   }t        |t              r%|j                  | j                  j
                        }|sy | j                         }|i } |dd|i|| _        | j                  j                         s| j                  | j                        S y )Nr   r$   )
r   
isinstancedictgetr   r   r%   inputis_validhandle_invalid_input)r   r   r   input_kwargss       r   r   zRESTView.handle_input   s    &&k4(%//$,,*=*=>K,,.<D ;d;l;
zz""$,,TZZ88 %r   c                 0    t        | j                  |      S )N)r*   )r   r   )r   r*   s     r   r,   zRESTView.handle_invalid_input,   s    T\\77r   c                     |j                   dk(  s|j                  sy 	 t        j                  |j                  j	                  d            S # t
        t        j                  f$ r t        t                     w xY w)Nr   utf8)r!   )	r   bodyjsonloadsdecodeUnicodeDecodeErrorJSONDecodeErrorr	   r   )r   r   s     r   r   zRESTView._parse_json/   sf    >>U"',,	K::gll11&9::"D$8$89 	K'1G1IJJ	Ks   -A .A:)__name__
__module____qualname__r   r   r   r   strr   r
   __annotations__r   r   r   r%   r   r,   r   __classcell__)r"   s   @r   r   r      sS    HLKxS$u+%5 67eDEL5:98Kr   r   )r2   typingr   r   r   r   django.httpr   django.views.genericr   allauth.core.exceptionsr	   (allauth.headless.internal.restkit.inputsr
   *allauth.headless.internal.restkit.responser   r   r$   r   r   <module>rC      s+     . . . % 9 : D)Kt )Kr   