
    9 fU
                     \    d 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	dS )z/
Various suggestions about JSON http responses
    N)checkers)BASE_ID)check_messagesc                   j    e Zd ZdZdZde ddde ddde dd	iZ ed
dd          d             ZdS )JsonResponseCheckerz`
    Looks for some common patterns when returning http responses containing
    JSON data!
    zjson-response-checkerR01)z@Instead of HttpResponse(json.dumps(data)) use JsonResponse(data)http-response-with-json-dumpsz@Used when json.dumps() is used as an argument to HttpResponse().02)zKInstead of HttpResponse(content_type='application/json') use JsonResponse()$http-response-with-content-type-jsonz7Used when HttpResponse() is returning application/json.03)z3Redundant content_type parameter for JsonResponse()(redundant-content-type-for-json-responsezUsed when JsonResponse() contains content_type parameter. This is either redundant or the content_type is not JSON which is probably an error.r
   r   r   c                 F   |j                                                             d          rk|j        rdt	          |j        d         t
          j                  r?|j        d         j                                         dk    r|                     d|           |j                                                             d          rw|j        rp|j        D ]h}|j	        dk    r[|j
                                                                                            d          dk    r|                     d	|            ni|j                                                             d
          r6|j        r1|j        D ]+}|j	        dk    r|                     d|            d S (d S d S d S )NHttpResponser   z
json.dumpsr
   )nodecontent_typezapplication/jsonr   JsonResponser   )func	as_stringendswithargs
isinstanceastroidCalladd_messagekeywordsargvaluelowerfind)selfr   keywords      Z/var/www/equiseq/venv/lib/python3.11/site-packages/pylint_django/checkers/json_response.py
visit_callzJsonResponseChecker.visit_call,   s    I!!**>::	I		I 49Q<66	I 	!!++--==<4HHH9  )).99 	dm 	=  ;.00W]5L5L5N5N5T5T5V5V5[5[\n5o5ort5t5t$$%KRV$WWWE9  )).99 	dm 	=  ;.00$$%OVZ$[[[EE 1	 	 	 	     N)	__name__
__module____qualname____doc__namer   msgsr   r%    r&   r$   r   r      s          #DG 

 	G 

 	G 
D( ^'.2 
  
  r&   r   )
r*   r   pylintr   pylint_django.__pkginfo__r   pylint_django.compatr   BaseCheckerr   r-   r&   r$   <module>r2      s   
         - - - - - - / / / / / /4 4 4 4 4(. 4 4 4 4 4r&   