
     h                         d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
  G d de
j                  Z G d d	e          ZdS )
    )unicode_literalsN)HttpResponse)is_aware)
simplejsonc                   "     e Zd ZdZ fdZ xZS )DjangoJSONEncoderz[
    JSONEncoder subclass that knows how to encode date/time, decimal types and UUIDs.
    c                    t          |t          j                  rT|                                }|j        r|d d         |dd          z   }|                    d          r|d d         dz   }|S t          |t          j                  r|                                S t          |t          j                  rEt          |          rt          d          |                                }|j        r
|d d         }|S t          |t          j
                  rt          |          S t          |t          j                  rt          |          S t          t          |                               |          S )N      z+00:00iZz*JSON can't represent timezone-aware times.   )
isinstancedatetime	isoformatmicrosecondendswithdatetimer   
ValueErrordecimalDecimalstruuidUUIDsuperr   default)selfor	__class__s      P/var/www/html/Sam_Eipo/venv/lib/python3.11/site-packages/compat/json_response.pyr   zDjangoJSONEncoder.default   sL   a*++ 	=A} $crcFQrssVOzz(## !crcFSLH8=)) 	=;;== 8=)) 	={{ O !MNNNA} crcFH7?++ 	=q66M49%% 	=q66M*D1199!<<<    )__name__
__module____qualname____doc__r   __classcell__r    s   @r!   r   r      sB         = = = = = = = = =r"   r   c                   (     e Zd ZdZedf fd	Z xZS )JsonResponsea  
    An HTTP response class that consumes data to be serialized to JSON.
    :param data: Data to be dumped into json. By default only ``dict`` objects
      are allowed to be passed due to a security flaw before EcmaScript 5. See
      the ``safe`` parameter for more information.
    :param encoder: Should be an json encoder class. Defaults to
      ``django.core.serializers.json.DjangoJSONEncoder``.
    :param safe: Controls if only ``dict`` objects may be serialized. Defaults
      to ``True``.
    Tc                     |r$t          |t                    st          d          |                    dd           t	          j        ||          } t          t          |           j        dd|i| d S )NzSIn order to allow non-dict objects to be serialized set the safe parameter to Falsecontent_typezapplication/json)clscontent )	r   dict	TypeError
setdefaultr   dumpsr   r*   __init__)r   dataencodersafekwargsr    s        r!   r4   zJsonResponse.__init__7   s     	>
4.. 	> = > > >.*<==='222*lD!!*BB4B6BBBBBr"   )r#   r$   r%   r&   r   r4   r'   r(   s   @r!   r*   r*   +   sX        	 	 &7T C C C C C C C C C Cr"   r*   )
__future__r   r   r   r   django.httpr   django.utils.timezoner   compatr   JSONEncoderr   r*   r/   r"   r!   <module>r>      s    ' ' ' ' ' '    $ $ $ $ $ $ * * * * * *      = = = = =
. = = =<C C C C C< C C C C Cr"   